修改器防范:会改变调用它们的对象自身的值
1. copyWithin(),在数组内部,将一段元素序列拷贝到另一个元素序列上,覆盖原有的值
使用方法——copyWithin(target,start,end)
参数:target——复制开始插入的地方 start——复制开始的元素的位置 end——复制结束的元素的位置
var arr1 = [1, 2, 3, 4, 5, 6, 7, 8];
arr1.copyWithin(3, 4, 5);
console.log(arr1); //[ 1, 2, 3, 5, 5, 6, 7, 8 ]
console.log(arr1); //[ 1, 2, 3, 5, 5, 6, 7, 8 ]
2. fill(),用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引
使用方法:array.fill(value,star,end)
参数:value——更换的值 start——起始位置,默认是0 end——结束位置,默认array.length
var arr1 = [4, 6, 9, 2, 43, 5, 1];
var arr2 = [4, 6, 9, 2, 43, 5, 1];
arr1.fill('a', 0, 3);
arr2.fill('b');
console.log(arr1); //[ 'a', 'a', 'a', 2, 43, 5, 1 ]
console.log(arr2); //[ 'b', 'b', 'b', 'b', 'b', 'b', 'b' ]
3. pop(),删除数组最后一个元素
var arr = [5, 2, 7, 9, 3];
console.log(arr.pop()); //3
console.log(arr); //[ 5, 2, 7, 9 ]
4.push(),在数组默认增加一个或多个元素,返回新数组长度
var arr = [3, 6, 9, 2, 4];
console.log(arr.push('h', 'i')); //7
console.log(arr); //[ 3, 6, 9, 2, 4, 'h', 'i' ]
5. reverse(),颠倒元素排列顺序
var arr = [6, 3, 8, 9];
console.log(arr.reverse()); //[ 9, 8, 3, 6 ]
console.log(arr); //[ 9, 8, 3, 6 ]
6. shift(),删除数组的第一个元素
var arr = [6, 3, 2, 6, 8, 5];
console.log(arr.shift()); //6
console.log(arr); //[ 3, 2, 6, 8, 5 ]
7. sort(),对数组进行排序
var arr1 = ['c','a','d','b'];
var arr2 = [4,7,1,9,12,0];
console.log(arr1.sort()); //[ 'a', 'b', 'c', 'd' ]
console.log(arr1); //[ 'a', 'b', 'c', 'd' ]
console.log(arr2.sort(function(a,b){return a-b})); //[ 0, 1, 4, 7, 9, 12 ]
console.log(arr2); //[ 0, 1, 4, 7, 9, 12 ]
8. splice(),在任意位置给数组添加或删除任意元素
使用方法:splice(index,howmany,item,...item)
参数:index——必需,元素开始修改的地方 howmany——必需,元素删除个数 item...item——可选,新增元素
var arr1 = [3,7,9,14];
var arr2 = [3,7,9,14];
var arr3 = [3,7,9,14];
console.log(arr1.splice(1,0,'a','b')); //[]
console.log(arr1); //[ 3, 'a', 'b', 7, 9, 14 ]
console.log(arr2.splice(0,2,'hi')); //[ 3, 7 ]
console.log(arr2); //[ 'hi', 9, 14 ]
console.log(arr3.splice(0,1)); //[3]
console.log(arr3); //[ 7, 9, 14 ]
9. unshift(),在数组的开头增加一个或多个元素,并返回数组长度
var arr = [4,7,2,6,8,2];
console.log(arr.unshift(0,1,4)); //9
console.log(arr); //[ 0, 1, 4, 4, 7, 2, 6, 8, 2 ]