数组的几种操作方法
声明数组的几种方式
1 2 3 4 5
| 字面量 声明 var arr = []; var arr = [12,3,4]; new 一个数组 new Array()
|
- 检测是不是数组,
1 2 3 4 5 6 7 8 9
| var arr = [12, 3]; var o = {};
console.log(arr instanceof Array); console.log(o instanceof Array); console.log(o instanceof Object);
console.log(Array.isArray(arr)); console.log(Array.isArray(o));
|
- push 给数组的末尾追加一个或多个元素, 修改原数组 返回的是新数组的总长度length
1 2 3 4 5
| var arr = ['red', 'green']; arr.push('blue', 'pink'); var ar1 = arr.push('blue', 'pink'); console.log(arr.push('blue', 'pink')); console.log(arr);
|
- pop() 给数组的末尾删除一个元素(只能删除一个);;不需要参数,返回的是被删除的元素
1 2 3 4
| var arr = ['pink', 'hotpink', 'deeppink']; arr.pop(); 不需要参数 console.log(arr.pop()); console.log(arr);
|
- unshift() 在数组前面添加一个或多个元素,修改原数组,返回一个 长度 length
1 2 3 4
| var arr = ['pink', 'hotpink', 'deeppink'];
console.log(arr.unshift('yellow')); console.log(arr);
|
- shift() 在数组的前面删除一个元素(只能删除一个);;不需要参数 ,返回的被删除的元素
1 2 3 4
| var arr = ['pink', 'hotpink', 'deeppink'];
console.log(arr.shift()); console.log(arr);
|
- reverse() 翻转,修改原数组
1 2 3 4
| var arr = ['pink', 'red', 'blue']; arr.reverse(); console.log(arr); 返回的结果是 : ["blue", "red", "pink"]
|
- 排序 sort()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| var arr = [2, 5, 9, 1, 4]; arr.sort(); console.log(arr); var arr = [12, 5, 9, 31, 4]; arr.sort(); console.log(arr);
var arr = [11, 34, 6, 9, 1];
arr.sort(function(a, b) { return a - b }) console.log(arr);
var arr = [11, 34, 6, 9, 1];
arr.sort(function(a, b) { return b - a }) console.log(arr);
|
- concat() 数组里面的拼接,参数可以是多个
1 2 3 4 5 6 7
| var arr = ['red']; var arr1 = ['andy'];
console.log(arr.concat(arr1, 'pink')); 输出的结果为 : ["red", "andy", "pink"] 拼接之后的数组 console.log(arr); 输出的结果为 : ["red"] 由于没有存变量,返回的就是原数组,也说明了,不会修改原数组
|
- splice( , ) 删除(截取),,,,从第几个开始,删除几个 修改原数组 (与pop();和shift( ) 一样)返回的是被删除的元素