世界让我遍体鳞伤,但伤口长出的却是翅膀。
数组的几种操作方法
声明数组的几种方式
字面量 声明
var arr = [];
var arr = [12,3,4];
new 一个数组
new Array()
- 检测是不是数组,
var arr = [12, 3];
var o = {};
// instanceof 检测是不是数组
console.log(arr instanceof Array); // true
console.log(o instanceof Array); // false
console.log(o instanceof Object); // true 通俗点 你是不是俺的 前者属不属于后者
// isArray()
console.log(Array.isArray(arr)); // true
console.log(Array.isArray(o)); // false
- push 给数组的末尾追加一个或多个元素, 修改原数组 返回的是新数组的总长度length
var arr = ['red', 'green'];
arr.push('blue', 'pink'); // 给 arr 末尾添加2个 blue pink
var ar1 = arr.push('blue', 'pink'); // ar1 4
console.log(arr.push('blue', 'pink')); // push 有返回值 返回的是总的长度 length
console.log(arr); // red green blue 修改 原数组
- pop() 给数组的末尾删除一个元素(只能删除一个);;不需要参数,返回的是被删除的元素
var arr = ['pink', 'hotpink', 'deeppink'];
arr.pop(); 不需要参数
console.log(arr.pop()); // deeppink 返回的 被删除的那个元素 值
console.log(arr); // ["pink", "hotpink"]
- unshift() 在数组前面添加一个或多个元素,修改原数组,返回一个 长度 length
var arr = ['pink', 'hotpink', 'deeppink'];
// arr.unshift();
console.log(arr.unshift('yellow')); // 4
console.log(arr); // ["yellow", "pink", "hotpink", "deeppink"]
- shift() 在数组的前面删除一个元素(只能删除一个);;不需要参数 ,返回的被删除的元素
var arr = ['pink', 'hotpink', 'deeppink'];
// arr.shift();
console.log(arr.shift()); // pink
console.log(arr); // ["hotpink", "deeppink"]
- reverse() 翻转,修改原数组
var arr = ['pink', 'red', 'blue'];
arr.reverse(); // 反转数组 修改原数组
console.log(arr);
返回的结果是 : ["blue", "red", "pink"]
- 排序 sort()
var arr = [2, 5, 9, 1, 4];
arr.sort(); // 无参数 按照 ascii 排列
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(){})
// 公式
arr.sort(function(a, b) {
return a - b // 升序排序
})
console.log(arr);
var arr = [11, 34, 6, 9, 1];
// arr.sort(function(){})
// 公式
arr.sort(function(a, b) {
return b - a // 降序排序
})
console.log(arr);
- concat() 数组里面的拼接,参数可以是多个
var arr = ['red'];
var arr1 = ['andy'];
// console.log(arr + arr1);
console.log(arr.concat(arr1, 'pink')); // 两个数组相连 合并成为一个数组
输出的结果为 : ["red", "andy", "pink"] 拼接之后的数组
console.log(arr);
输出的结果为 : ["red"] 由于没有存变量,返回的就是原数组,也说明了,不会修改原数组
- splice( , ) 删除(截取),从第几个开始,删除几个 修改原数组 (与pop();和shift( ) 一样)返回的是被删除的元素
在此附上我的QQ: 2489757828 有问题的话可以一同探讨
我的私人博客: 李大玄