JS数据结构 数据基础

扩展运算符:

扩展运算符是ES6开始新添加的运算符,用于取出可迭代对象的每一项。这里我们可以用它来快速的展开一个数组 let a = ["Bill","Mary","Lucy"];
let b = [21,24,27];
let c = [...a,...b];
console.log(c);
//[ 'Bill', 'Mary', 'Lucy', 21, 24, 27 ] 我们再来看一个例子:let a = [1,2,3];
let b = [...a,4,5,6];
console.log(b);
//[ 1, 2, 3, 4, 5, 6 ] 有了这个运算符以后,我们可以使用它将字符串快速转为数组let str = "Hello";
let arr = [...str];
console.log(arr);
//[ 'H', 'e', 'l', 'l', 'o' ]

多维数组:

如果要访问多维数组里面的数据,可以使用下面的形式let a = ["Bill","Mary","Lucy"];
let b = [21,24,27];
let c = [a,b];//这里c就是一.个多维数组。如果要访问多维数组里面的数据,可以使用下面的形式let a = ["Bill","Mary","Lucy"];
let b = [21,24,27];
let c = [a,b];
console.log(c[0][2]);//Lucy。利用前面所介绍的解构,我们可以来解构一个多维数组,示例如下:let arr = [[1,2,3],4,5];
let [a,b,c] = arr;
console.log(a);//[1,2,3]
console.log(b);//4
console.log(c);//5

解构数组:

在解构出现之前,我们交换两个数需要使用到一个中间变量,但是现在我们可以使用解构来交换 两个数let a = 1,b = 2;
[a,b] = [b,a];
console.log(a);//2
console.log(b);//1

首先就是将一个 复杂类型的数据分解为一个普通类型数据。如下:let arr = [1,2,3];
let [a,b,c] = arr;
console.log(a);//1
console.log(b);//2

console.log(c);//3 这里就是将arr这个数组里面的值分解给了a,b,c 可以使用逗号来跳过不想要解构的元素

数组的遍历:

使用entries() let arr = [3,5,8,1];
for(let i of arr.entries()){
console.log(i);
}

使用keys()遍历出数组的键 let arr = [3,5,8,1];
for(let i of arr.keys()){
console.log(i);
}

forEach let arr = [1,2,3,4,5,6,7,8,9,10];
/将数组的每一项传入到回调函数,然后执行回调函数里面的操作֢
let i = arr.forEach(function(item){
console.log(item);
});

通过for-of let arr = [1, 2, 3, 4, 5];
for (let i of arr) {
console.log(i);
}

通过for-in遍历数组let arr = [1, 2, 3, 4, 5];
for (let i in arr) {
console.log(`键为{i}的元素值为${arr[i]}`);
}

最简单的是通过for循环来进行数组的遍历,这是被使用的最多的方式let arr = [1, 2, 3, 4, 5];
for (let i=0;i<arr.length;i++) {
console.log(arr[i]);
}

删除元素:

我们可以使用delete运算符来删除数组中的某一个元素,如:let arr = [1,2,3,4,5];
delete arr[2];//删除数组中的第三个元素
console.log(arr);
//[ 1, 2, <1 empty item>, 4, 5 ]

访问数组元素:

通过数组的下表,我们可以轻松的访问到储存咋数组里面的元素,如下:let arr = [1,2,3,4,5];
console.log(arr[0]); 除了这种常规的访问方式,我们还可以使用变量的方式来进行访问 如下:let arr = [1,2,3,4,5];
let i = 2;
console.log(arr[i]);

创建数组:字面量创建数组let arr = [];构造函数创建数组:let arr = new Array();

原文地址:https://www.cnblogs.com/dazhongma/p/11400258.html