长风破浪会有时
直挂云帆济沧海

js操作含有empty的数组<1 empty item>

const arr = new Array(4)

arr[0]                                  // undefined
Array.from(arr)                         // 返回一个数组[undefined, undefined, undefined, undefined]
arr.map((item) => item)                 // 遍历的那项为空时,返回empty
arr.forEach((item) => item)             // 遍历的那项为空时,返回empty
arr.some((item) => item === undefined)  // 遍历时会跳过为empty的项,如果数组为空则返回false
arr.every((item) => item === undefined) // 遍历时会跳过为empty的项,如果数组为空则返回true
arr.reduce((a, b) => a + b)             // 数组为空时报错,报错信息为reduce操作的数组不能为空
arr.find((item) => item === undefined)  // 能正常遍历,并返回找到的值undefined
arr.findIndex((item) => {               // 能正常遍历,并返回找到的值的index
    return item === undefined
})
arr.filter((item) => item === undefined)// 遍历时会跳过为empty的项
arr.join()                              // 返回一个',,,'的字符串
arr.includes()                          // 不传参数时为true,经过测试断定默认值为undefined
arr.indexOf()                           // 返回-1,经过测试断定默认值为undefined,但是它不对空数组判断
arr.sort()                              // 能正常排序,为empty的元素会被排序到最后
arr.fill(1)                             // 数组内所有项都会变成1
// pop, push, shift, unshift的操作都是正常进行

一般要用for(let i =0;i<arr.length;i++);

赞(2) 打赏
未经允许不得转载:阿锋哥前端开发经验分享 » js操作含有empty的数组<1 empty item>
分享到: 更多 (0)

几百块就能做营销型企业网站?

查看详情

可怜可怜作者吧

支付宝扫一扫打赏

微信扫一扫打赏