JS数组知识总结

1.创建数组
字面量[]
new Array(n) //n 代表的是数组长度 表示undefined * 100
new Array(true, false, null, 1, 2, “hi”) // 等价于[true, false, null, 1, 2, “hi”];

  1. 数组长度
  2. 删除数组
  3. 增加数组
    var arr = [];
    arr[0] = 1;
    arr[1] = 2;
    arr.push(3); //从数组末尾添加一个数据
    arr; // [1, 2, 3]
    arr.unshift(0); //从数组开头添加一个数据
    arr; // [0, 1, 2, 3, 4];
    delete arr[2]; //删除数组中下标为2的元素,不会改变数组长度
    arr; // [0, 1, undefined, 3, 4]
    arr.length; // 5
    2 in arr; // false

arr.pop(); // 3 returned by pop //从数组后面删除元素
arr; // [0, 1, undefined], 3 is removed

arr.shift(); // 0 returned by shift //从数组前面删除元素
arr; // [1, undefined]

数组迭代
var arr = [1, 2, 3, 4, 5];
Array.prototype.x = ‘inherited’;
for(i in arr) {
console.log(arr[i]); // 1, 2, 3, 4, 5, inherited
}
for(i in arr) {
if (arr.hasOwnProperty(i)) {
console.log(arr[i]); // 1, 2, 3, 4, 5
}
}

数组方法:

1.join  //数组变字符串,并不会改变原来数组
2.reverse //数组倒叙,改变原数组
3.sort // 多种用法
	arr.sort() // 先根据数组元素的第一位从小到大排列,再从第二位开始
	arr.sort((a,b)=>{
		return a-b //从小到大  , b-a就是从大到小
	})
4.concat  //拼接数组,原数组并未边改
5.slice //截取数组,原数组未改变
6.splice // 查找并且剔除元素,原数组改变
	var arr = [1, 2, 3, 4, 5];
	arr.splice(2); // returns [3, 4, 5]
	arr; // [1, 2]
7.forEach  //对数组进行遍历,获取每一个元素
	arr = [{age : 25}, {age : 39}, {age : 99}];
	arr.forEach(function(item) {
 		console.log('age', item.age);
	});
8.map //数组映射,原数组未改变
	arr.map((value,index,arr)=>{
	})
9.filter // 筛选数组,原数组未被修改
	arr.filter((value,index)=>{
	})
10.every //遍历数组中的每个元素是否符合条件,都符合返回true
	var arr = [1, 2, 3, 4, 5];
	arr.every(function(x) {
		 return x < 10;
	}); // true
	arr.every(function(x) {
		 return x < 3;
	}); /
11.some  //遍历数组中的任意元素是否符合条件,只要一个符合返回true
	var arr = [1, 2, 3, 4, 5];
	arr.some(function(x) {
 		return x === 3;
	}); // true
	arr.some(function(x) {
 		return x === 100;
	}); // false
12.reduce  //数组内部元素计算
var arr = [1, 2, 3];
var sum = arr.reduce(function(x, y) {
 	return x + y
}, 0); // 6
arr; //[1, 2, 3]
13.indexOf/lastIndexOf  //数组检索,是否包含,如果包含返回索引
14.isArray //判断是否是数组
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值