Home > Web Front-end > JS Tutorial > body text

Summary and sharing of js array knowledge

小云云
Release: 2018-03-28 15:52:49
Original
1271 people have browsed it


1. The indexOf method has two shortcomings. One is that it is not semantic enough. Its meaning is to find the first occurrence of the parameter value. So to compare whether it is not equal to -1, the expression is not intuitive enough. Second, it uses the strict equality operator (===) internally for judgment, which will lead to misjudgment of NaN .

NaN!=NaN
//ES5[NaN].indexOf(NaN)// -1
//ES6[1, 2, NaN].includes(NaN) // true
Copy after login

2. The fill method can also accept the second and third parameters, which are used to specify the starting and ending positions of filling.

If the filled type is an object, then the object assigned is the same memory address, not the deep copy object.

let arr = new Array(3).fill({name: "Mike"});arr[0].name = "Ben";
arr// [{name: "Ben"}, {name: "Ben"}, {name: "Ben"}]let arr = new Array(3).fill([]);
arr[0].push(5);arr// [[5], [5], [5]]
Copy after login

3. The find method of the array instance is used to find out the A qualified array member. Its parameter is a callback function, and all array members execute the callback function in sequence until the first member whose return value is true is found, and then returns that member. If there are no matching members, undefined is returned. The usage of the findIndex method of the array instance is very similar to the find method, returning the first one that meets the conditions The position of the array members. If all members do not meet the criteria, -1 is returned. Both methods can accept the second parameter, which is the this object used to bind the callback function.

4. The ##copyWithin method of the array instance will copy the specified position within the current array. The member is copied to another location (overwriting the original member), and the current array is returned. In other words, using this method will modify the current array.

它接受三个参数。

  • target(必需):从该位置开始替换数据。如果为负值,表示倒数。

  • start(可选):从该位置开始读取数据,默认为 0。如果为负值,表示倒数。

  • end(可选):到该位置前停止读取数据,默认等于数组长度。如果为负值,表示倒数。

[1, 2, 3, 4, 5].copyWithin(0, 2, 4)// [3, 4, 3, 4, 5]
Copy after login

4、Array.of基本上可以用来替代Array()new Array(),并且不存在由于参数不同而导致的重载。它的行为非常统一。

//ES6Array.of() 
// []Array.of(undefined) 
// [undefined]Array.of(1) 
// [1]Array.of(1, 2) 
// [1, 2]//ES5Array() 
// []Array(3) 
// [, , ,]Array(3, 11, 8) 
// [3, 11, 8]
Copy after login

Array.of方法可以用下面的代码模拟实现。

function ArrayOf(){
  return [].slice.call(arguments);}
Copy after login

相关推荐:

js数组操作实例分析

JS数组去重方法总结

js数组常用的一些排序法

The above is the detailed content of Summary and sharing of js array knowledge. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!