let a = new Array(6);
console.log(a.length);
console.table(a);
let arr = Array.of(6);
console.log(arr.length);
console.table(arr);
typeof检测引用类型都为Object
所以 检测array需要用Array.isArray这个api。
const div = document.querySelectorAll("div");
[...div].map(function (item) {
item.addEventListener("click", function () {
this.classList.toggle("hide");
});
});
let array1 = ["1", "2"];
let array2 = ["3", "4"];
array1 = [...array1, ...array2];
console.log(array1);
let arr = ["2020", 2021];
let year1 = arr[0];
let year = arr[1];
let [year1, year] = arr;
console.log(year1);
console.log(year1, year);
//加入默认值
let [name, year = 2021] = ["sam"];
console.log(year);
//只想要第二个
let[,B] = [a,b];
以下方法均会改变原数组
find
返回:item 类似过滤器
let array = [1, 2, 3, 4, 5];
let data = array.find(function (item) {
return item == 2;
});
console.log(data); //返回值为2
findIndex类似find返回的是index
let array = [
{id:0,name:'one'},
{id:1,name:'two'},
{id:2,name:'three'},
{id:3,name:'four'},
];
let index = array.findIndex(item=>{
return item.id == 1
})
console.log(index); //返回的索引值为1
//从小到大 升序排列
arr = sort(arr, function (a, b) {
return b - a;
});
//从大到小 降序排列
arr = sort(arr, function (a, b) {
return a - b;
});
没标识的都可以改变原数组
const ss = ["a", "b"];
const keys = ss.keys();
console.log(keys.next());
console.log(keys.next());
const arr = ["A", "B", "C", "D"];
for (const key of arr.keys()) {
console.log(key);
}
2.values
const array = ["a", "b"];
const values = array.values();
console.log(values.next());
console.log(values.next());
console.log(values.next());
"use strict";
const array = ["a", "b", "c", "d"];
for (const value of array.values()) {
console.log(value);
}
3.entries
const array = ["a", "b", "c", "d"];
for (const [key, value] of array.entries()) {
console.log(key, value);
}
map(value,index,array)
使用 reduce 与 reduceRight 函数可以迭代数组的所有元素,reduce 从前开始 reduceRight 从后面开始。
第一个参数是执行函数,第二个参数为初始值
reduce(('上次返回的值', '当前元素值','当前索引','原数组') => {}, '初始值');