js如何在一个排好数组里插一个数,不改变顺序
//商品置顶
exportsTest.setFirstProduct = function(products){
if(firstProductpmId){
var firstProduct;
for (var i = 0; i < products.length; i++) {
if (products[i].pmId == firstProductpmId) {//判断该活动中有该商品,否则不变。
firstProduct = products[i];
for (var j = i; j > 0; j--) {//将当前商品移到第一个
if (j > 0) {//不是第一个
products[j] = products[j - 1]
}
}
products[0] = firstProduct;
break;
}
}
}
return products;
}
exportsTest.setFirstProduct = function(products){
if(firstProductpmId){
var firstProduct;
for (var i = 0; i < products.length; i++) {
if (products[i].pmId == firstProductpmId) {//判断该活动中有该商品,否则不变。
firstProduct = products[i];
for (var j = i; j > 0; j--) {//将当前商品移到第一个
if (j > 0) {//不是第一个
products[j] = products[j - 1]
}
}
products[0] = firstProduct;
break;
}
}
}
return products;
}
这个算法效率比较高,其实一个for循环。你要是使用concat代码简单,但是效率会低一些。
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2017-09-15
var arr = [1,2,3];
arr.push(4); // 从尾部插入
console.log(arr);本回答被网友采纳
arr.push(4); // 从尾部插入
console.log(arr);本回答被网友采纳
第2个回答 2019-03-20
var arr = [1,2,3];
arr.splice(i,0,a);//i是你要插入的下标;a是你要插入的值
第3个回答 2016-07-29
使用array.splice()方法本回答被提问者采纳
第4个回答 2017-08-31
插在哪里?