JavaScript数组push方法使用注意事项
js数组的push方法,想必大家都知道是向数组末尾添加元素,但是有一个很关键的点需注意:
引自MDN
返回值
当调用该方法时,新的length属性值将被返回。
varsports=["soccer","baseball"]; vartotal=sports.push("football","swimming"); console.log(sports); //["soccer","baseball","football","swimming"] console.log(total); //4
数组push之后返回的是length,而不是新的数组,如果不清楚这点,在使用过程中回遇到很大的坑。
顺带记一下其他几个数组的方法返回值:
pop()
pop()方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。
leta=[1,2,3]; a.length;//3 a.pop();//3 console.log(a);//[1,2] a.length;//2 arr.pop()返回值
从数组中删除的元素(当数组为空时返回undefined)。
shift()
shift()方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
leta=[1,2,3]; letb=a.shift(); console.log(a); //[2,3] console.log(b); //1 返回值 从数组中删除的元素;undefined如果数组为空。 arr.shift()
unshift()
unshift()方法将一个或多个元素添加到数组的开头,并返回新数组的长度。 leta=[1,2,3]; a.unshift(4,5); console.log(a); //[4,5,1,2,3] arr.unshift(element1,...,elementN) 参数列表 element1,...,elementN 要添加到数组开头的元素。 返回值 当一个对象调用该方法时,返回其length属性值。
concat()
concat()方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
vararr1=['a','b','c']; vararr2=['d','e','f']; vararr3=arr1.concat(arr2); //arr3isanewarray["a","b","c","d","e","f"] varnew_array=old_array.concat(value1[,value2[,...[,valueN]]]) 参数 valueN 将数组和/或值连接成新数组。 返回值 新的Array实例。
splice()
splice()方法通过删除现有元素和/或添加新元素来更改一个数组的内容。
返回值
由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组。
slice()
slice()方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象,原始数组不会被修改。
返回值:
一个含有提取元素的新数组
总结:
开头和结尾添加都是返回数组的长度;
开头和结尾的删除都是返回删除的元素;
splice()返回被删除的元素;
concat返回新的数组;
slice返回提取的数组;
以上所述是小编给大家介绍的JavaScript数组push方法使用注意事项,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!