实现思路:
根据特定key值来查找当前数组中的特定元素,判断key值与数组元素是否相等,相等时使用splice函数删除当前元素,使用break跳出循环,再使用unshift函数将key值添加到数组最前面。
举例:
let arr = [1,2,3,4];
let key = 2;
for(var i = 0; i < arr.length; i++){
if(arr[i] === key){
arr.splice(i, 1);
break;
}
}
arr.unshift(key);
返回结果为[2,1,3,4]。
如果是数组对象,只需要稍微改动代码即可:
let arr = [
{
"id": 1,
"name": "eleven"
},
{
"id": 2,
"name": "babala"
},
{
"id": 3,
"name": "kangkang"
},
{
"id": 4,
"name": "stif"
},
];
let key = 3;
let specifiedElem = [];
for (var i = 0; i < arr.length; i++){
if (arr[i].id == key) {
specifiedElem = arr[i];
arr.splice(i, 1);
break;
}
}
arr.unshift(specifiedElem);
返回结果为:
arr = [
{
"id": 3,
"name": "kangkang"
},
{
"id": 1,
"name": "eleven"
},
{
"id": 2,
"name": "babala"
},
{
"id": 4,
"name": "stif"
},
];