JS中数组对象的创建和使用

JS 数组

Array数组对象的作用:使用单独的变量名来存储一系列的值。
数组可以用数组名存储一系列变量的开始地址|基地址,然后根据每个数组元素的下标不同,计算出其偏移地址,以便很快的计算出该元素所处的地址,进行访问。

创建数组

  1. 数组字面量literal
    var arr = [1, 2, 3];

  2. 构造时传入数组元素
    var arr = new Array(123, "asd", false); // length为传入元素的个数。

  3. 先构造,再用下标赋值。

    var arr = new Array(3);	// (3) [empty × 3],length为参数给出的3。
    arr[0] = 123;
    arr[1] = "asd";
    arr[2] = false;		// 元素填充完毕
    
  4. 用非数值定义映射关系(不推荐)。

    var arr = new Array();	// 可以不指定数组长度
    arr["aaa"] = 123;		// 定义多个映射不影响数组的length值。
    arr[false] = "asd";
    arr[null] = false;
    console.log(arr);	// [aaa: 123, false: "asd", null: false]
    

数组的访问
arr[index] arr[key] // 不推荐

数组的五种遍历

arr = ["first", 2, false];

  1. 普通for循环。
for (let index = 0; index < arr.length; index++) {
	console.log(index, arr[index]);
}
  1. for..in,可遍历数组和对象。
for (let index in arr) {
	console.log(index, arr[index]);
}
  1. for..of,只能遍历数组(数组是iterable,可迭代的),不能遍历对象。
for (let element of arr) {
	console.log(element);
}
  1. forEach()
arr.forEach(function(value, key) {
	console.log(key, value);
});
  1. map()
arr.map(function(value, key) {
	// statements... 	// 可以做遍历。
	return key + "-" + value;	// 新数组的元素组成。
});

常用方法

concat(...items) 合并多个数组|字符串
join(?separator) 返回所有元素的字符串拼接格式。

shift() 从数组头部删除元素。
unshift(...items) 向数组头部添加多个元素。

pop() 出栈,从数组尾部删除一个元素。
push(...items) 入栈,向数组尾部添加多个元素。

reverse() 反转数组元素顺序(会改变原数组)。
toString()

slice(?start, ?end) 获取原数组的子数组(区间[start, end) ),不影响原数组。
splice(start, ?deleteCount, ...items) 从start开始,删除deleteCount个元素。会改变原数组的长度。
删除数组中的第4个元素(下标为3)

arr = [0,1,2,3,4,5];
(6) [0, 1, 2, 3, 4, 5]
arr.splice(3,1)
[3]
arr
(5) [0, 1, 2, 4, 5]

sort(?compareFn) 按一定方式对数组元素进行排序

forEach(callbackFn, ?thisArg) 遍历数组的value和key。
map(callbackFn, ?thisArg) 对数组的value-key对进行遍历,操作,返回一个新的数组。

你可能感兴趣的:(JS中数组对象的创建和使用)