数组中push和concat的区别

数组中的push和concat

  • push的定义

    创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、网站建设、甘井子网络推广、微信小程序、甘井子网络营销、甘井子企业策划、甘井子品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供甘井子建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

    向数组的末尾添加一个或更多元素,返回值为数组添加元素后的长度。

  • concat的定义

    连接两个或更多的数组,并返回结果。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

    	// push方法
    	var a = [1,2,3];
    	console.log(a.push(4,5)); // 5
    	a.push(6,7);  
    	console.log(a);  // [1,2,3,4,5,6,7]
    	
    	// concat方法  
    	var a = [1,2,3];
    	var b = [4,5];
    	var c = a.concat(b);  
    	console.log(a,b,c);   // [1,2,3]  [4,5]  [1,2,3,4,5]
    
  • 两者区别

    • push()是在原数组的基础上修改的,执行push()方法后原数组的值也会变,该方法会改变原数组以及原数组的长度;
    • concat()是先把原数组复制到一个新的数组,然后在新数组上进行操作,所以不会改变原数组的值。
    • 如果参数不是数组,push()和concat()都会直接把参数添加到数组后;如果参数是一个数组push()就会直接把数组添加到原数组后,而concat()会把数组里的值取出来添加到原数组的后面
    	// push方法添加数组
    	var x = [5,6,7,8];
            x.push(['a','b']);
    	console.log(x);  // [5, 6, 7, 8, Array(2)]  ==>  [5, 6, 7, 8, ['a','b']]
    
    	// concat方法添加数组 
    	var y = ['s','f','h','k'];
            var z = y.concat([2,3]);
            console.log(z);  // ['s', 'f', 'h', 'k', 2, 3] 
    
    	// 注意: concat()参数是数组会展开,但只会展开一层
    	var y = ['s','f','h','k'];
            var z = y.concat([2,3,['u']]);
    	console.log(z);  // ['s', 'f', 'h', 'k', 2, 3, Array(1)]
    


当前名称:数组中push和concat的区别
路径分享:http://pwwzsj.com/article/dsojjoc.html