JavaScript数组采坑
作者:互联网
长度
JS 数组长度不是里面包含了多少个元素,为数组中元素最大索引加一
const arr = [];
arr[20] = 1;
console.log(arr.length) // log: 21
console.log(arr[0]) // log: undefine
// 可使用 数组的length属性去清空元素
let arr1 = [1, 2, 3, 4, 5, 6, 7];
// 保留四个元素
arr1.length = 4;
console.log(arr1) // log: [ 1, 2, 3, 4 ]
// 清空数组
arr1.length = 0;
console.log(arr1); // log: []
遍历
使用 for…in 和 forEach() 遍历都会跳过空元素(undefine)
使用 for…of 和 for 遍历,依然会遍历空元素
let arr = [1, 2];
arr[5] = 5;
for(let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
// log: 1 2 undefine undefine undefine 10
for(let site of arr) {
console.log(site)
}
// log: 1 2 undefine undefine undefine 10
for(let key in arr) {
console.log(arr[key]);
}
// log: 1 2 5
arr.forEach(value => {
console.log(value);
})
// log: 1 2 5
关于数组的计算属性
const arr = [];
arr[0] = 0;
arr[1] = 1;
arr[2] = 2;
// 数组计算属性的用法
arr["property" + "1"] = "数组的计算属性";
// 可以通过属性名得到数组值
console.log(arr.property1); // log:数组的计算属性
// 当你给你的数组加了一个计算属性后,再用for...in 来遍历数组
for(let index in arr) {
console.log(arr[index]);
}
// log: 0 1 2 3 数组的计算属性
// 再看看数组的长度
console.log(arr.length); // log: 3
不要使用 ===
去判断数组相等,或判断否空数组
记住,数组也是对象
const arr= []
// 全等时
console.log(arr === []); // log: false
console.log(arr === 0); // log: false
console.log([1] === [1]) // log: false
// 使用相等时
console.log(arr == 0) // log: true
console.log(arr == '') // log: true
console.log(arr == []) // log: false
console.log(arr == null) // log: false
console.log([1] == [1]) // log: false
标签:arr,console,log,采坑,JavaScript,undefine,let,数组 来源: https://blog.csdn.net/qq_44045519/article/details/119064139