js中的Array的empty
声明⼀个数组长度的时候,如果这个数组的现有长度⼩于声明长度,那么数组后⾯就会被empty填满,直到达到声明长度
正⽂
因为最近业务中写到,数据存进⼀个数组中,数组长度固定,但是数据不⼀定够或者数据有可能多。如果数据够的话,多余的部分就会被截掉,如果数据不够的时候,后⾯就会emptysort函数 js
固定数组长度
固定数组长度有两种⽅法:
1
2 3 4 5 6const arr = []
arr.length = 3
// 第⼆种,构造函数声明const arr1 = new Array(4)
最后得到的结果都为[empty, empty, empty, empty]操作含有empty的数组
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20const 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的项,如果数组为空则返回duce((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的操作都是正常进⾏

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。