记录JavaScript内置对象的常用操作方法,随时补充
Arguments、Array、Boolean、Date、Error、EvalError、Function、Global、JSON、Math、Number、Object、RangeError、ReferenceError、RegExp、String、SyntaxError、TypeError、URIError
Arguments
arguments对象可以理解为一个传递给函数的参数数组(只有数组的长度属性和索引值),一个可以在所有非箭头函数中使用的局部变量。可以按索引提取参数arguments[0]
,也可以直接设置该参数的值。
Array
concat() |连接两个或更多的数组,并返回结果。
join() |把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop() |删除并返回数组的最后一个元素
push() |向数组的末尾添加一个或更多元素,并返回新的长度。
reverse() |颠倒数组中元素的顺序。
shift() |删除并返回数组的第一个元素
slice() |从某个已有的数组返回选定的元素
sort() |对数组的元素进行排序
splice() |删除元素,并向数组添加新元素。
toSource() |返回该对象的源代码。
toString() |把数组转换为字符串,并返回结果。
toLocaleString()|把数组转换为本地数组,并返回结果。
unshift() |向数组的开头添加一个或更多元素,并返回新的长度。
valueOf() |返回数组对象的原始值
.length /属性/
数组的长度,为可读写属性,数值为0到232-1的整数,写入则直接设置数组长度,超长则删除,不够就补empty
占位,成稀疏数组。
.of( item1,...,itemN )
按顺序将指定元素合成一个新数组并返回。和length
做个区分
Array.of(7); // [7]
Array.of(1, 2, 3); // [1, 2, 3]
Array(7); // [7个empty],长度为7
Array(1, 2, 3); // [1, 2, 3]
.from() 从类/伪数组通过指定方法创建并返回一个新数组(伪数组转真数组)。
.isArray() 判断传入值是不是个数组,返回Boolean
。
.concat() 方法创建返回一个浅拷贝的新数组,不会对原数组造成任何影响,亦不会去除原数组中的嵌套数组。
.every() 判断方法,测试数组的每一项元素是否通过指定函数校验,返回Boolean
,注意空数组[].every()
恒定返回true
.filter() 和.every()
方法类似,不过返回的是一个通过指定函数校验的新数组,顾名思义,就是个过滤器。
.forEach() 为数组中的每一个元素都调用一遍指定函数,因为永远返回一个undefined
,所以不能链式调用,或者就挂在链子尾巴上。非异常情况下不能中断或跳出。
.indexOf() 在数组中按指定位置(默认0)查找匹配元素,返回第一个匹配的索引值,找不到就返回-1
.lastIndexOf() 反向查找
.join() 数组中所有元素按传进去的字符拼接成String
字符串
.map() 数组中的每个元素都调用一个指定函数后返回一个新数组,React
中几乎成为标配。
.pop() 去掉数组最后一个元素,返回这个元素值,改变原数组。
.shift() 移除数组第一个元素,返回这个元素值,改变原数组。
.push() 将一个或多个元素添加到数组的末尾,并返回该数组的新长度。[注]
.unshift() 将一个或多个元素添加到数组的头部,并返回该数组的新长度。
.reduce(reducer) 从数组的元素中计算出一个值并返回
.reduceRight() 从右至左缩减数组
.reverse() 把原数组调个头,翻转数组
.slice() 从传入的begin
和end
索引处(前包后不包)浅拷贝出一个新数组并返回。
.some() 判断数组中是否有至少一个元素能通过指定校验函数并返回Boolean
.sort() 在原数组中对数组元素进行排序,默认排序顺序是在将元素转换为字符串,然后比较它们的UTF-16
代码单元值序列时构建的。
.splice() 完成数组的插入,删除和替换。在删除时返回删除的元素数组。[注]
.toLocaleString() 数组转本地化字符串,这些字符串将使用一个特定语言环境的字符串。
.toString() 数组转字符串
.fill() !IE
在指定位置填进去指定值,如array.fill(0,1,4)
在索引1到3的位置填进去三个0,前包后不包。
.find() .findIndex() !IE
这俩类似,find
返回数组中通过指定函数校验的第一个元素的值,findIndex
返回第一个元素的索引。
.flat() !IE/Edge/Samsung
传进去一个深度值(默认1)将一个嵌套数组按层级展开
.flatMap() !IE/Edge/Samsung
类似.map()
和.flat(1)
的合体,在同时使用时flatMap()
效率稍高。
.includes() !IE
判断数组是否包含指定值并返回Boolean
,不能用于对象数组。
.keys() !IE
返回一个包含数组中每个索引键的Array Iterator
对象。
.values() !IE/Samsung
返回一个包含数组中每个索引值的Array Iterator
对象。