最近在做一些面试题时经常会遇见js中哪些数组方法会影响到原数组这个问题,我很早就学了js,现在也忘得差不多了,刚好边做题边复习,这里整理了一下哪些数组方法会影响到原数组。
push()方法:
/*
* push()
* - 该方法可以向数组的末尾添加一个或多个元素,并返回数组的新的长度
* - 可以将要添加的元素作为方法的参数传递,
* 这样这些元素将会自动添加到数组的末尾
* - 该方法会将数组新的长度作为返回值返回
*/
var result = arr.push("唐僧","蜘蛛精","白骨精","玉兔精");
pop()方法:
/*
* pop()
* - 该方法可以删除数组的最后一个元素,并将被删除的元素作为返回值返回
*/
result = arr.pop();
unshift()方法:
/*
* unshift()
* - 向数组开头添加一个或多个元素,并返回新的数组长度
* - 向前边插入元素以后,其他的元素索引会依次调整
*/
//console.log(arr);
arr.unshift("牛魔王","二郎神");
shift()方法:
/*
* shift()
* - 可以删除数组的第一个元素,并将被删除的元素作为返回值返回
*/
result = arr.shift();
splice()方法:
/*
* splice()
* - 可以用于删除数组中的指定元素
* - 使用splice()会影响到原数组,会将指定元素从原数组中删除
* 并将被删除的元素作为返回值返回
* - 参数:
* 第一个,表示开始位置的索引
* 第二个,表示删除的数量
* 第三个及以后。。
* 可以传递一些新的元素,这些元素将会自动插入到开始位置索引前边
*
*/
arr = ["孙悟空","猪八戒","沙和尚","唐僧","白骨精"];
var result = arr.splice(3,0,"牛魔王","铁扇公主","红孩儿");
reverse()方法:
//反转数组的顺序
var arr = ['one', 'two', 'three'];
arr.reverse();
console.log(arr); // ['three', 'two', 'one']
sort()方法:
//排序方法
sort()方法,两个参数,前减后就是往下升序,后减前就是降序
结尾:
下次整理一下不会影响原数组的方法。