js如何在一个排好数组里插一个数,不改变顺序

JavaScript010

js如何在一个排好数组里插一个数,不改变顺序,第1张

//商品置顶

    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.向数组结尾添加元素

arry.push()

2.向数组的头部添加元素

arry.unshift()

3.向数组中间添加元素

arrayObject.splice(index,howmany,item1,.....,itemX)