JS 数组的 push 与 concat 区别

JavaScript021

JS 数组的 push 与 concat 区别,第1张

1、功能不同

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

concat()() 方法用于连接两个或多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

2、函数不同

push() :

var a = [1,2,3,4]

a.push(5)  //a 现在是1,2,3,4,5

concat() :

var a = [1,2,3,4]

var b = [5,6]

var c = a.concat(b) // a,b 数组都不变,c变成了1,2,3,4,5,6

扩展资料:

push是一个汇编术语,实现压入操作的指令是PUSH指令,实现弹出操作的指令是POP指令。

push() 说明

push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个新的数组。push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。

concat() 返回值

返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。

例子

把 concat() 中的参数连接到数组 a 中:

<script type="text/javascript">

var a = [1,2,3]

document.write(a.concat(4,5))

</script>

输出:1,2,3,4,5

参考资料来源: 百度百科-push (汇编术语)

https://www.kancloud.cn/pengyp/js_node_html_css/1329568

var array1 = [

    {"Num": "A "  },

    {"Num": "B" }

]

var array2 = [

    {"Num": "A ","Name": "t1 " },

    {"Num": "B","Name": "t2"},

    {"Num": "C " ,"Name": "t3 ",age:'222'},

    {"Num": "D" ,"Name": "t4 ",age:'3333'}

]

var result = []

for(var i = 0i <array2.lengthi++){

    var obj = array2[i]

    var num = obj.Num

    var isExist = false

    for(var j = 0j <array1.lengthj++){

        var aj = array1[j]

        var n = aj.Num

        if(n == num){

            isExist = true

            break

        }

    }

    if(!isExist){

        result.push(obj)

    }

}

console.log(result)

push 方法改变的是数组本身,返回值是push之后数组的长度。

所以,代码应该这样写:

var queue = []

queue.push( 'A', 'B' )

console.log( queue ) // output [ 'A', 'B' ]