ホームページ > ウェブフロントエンド > jsチュートリアル > js配列の知識のまとめと共有

js配列の知識のまとめと共有

小云云
リリース: 2018-03-28 15:52:49
オリジナル
1334 人が閲覧しました


1.indexOf1、 indexOf方法有两个缺点,一是不够语义化,它的含义是找到参数值的第一个出现位置,所以要去比较是否不等于-1,表达起来不够直观。二是,它内部使用严格相等运算符(===)进行判断,这会导致对NaN的误判。

NaN!=NaN
//ES5[NaN].indexOf(NaN)// -1
//ES6[1, 2, NaN].includes(NaN) // true
ログイン後にコピー

2、 fill方法还可以接受第二个和第三个参数,用于指定填充的起始位置和结束位置。

如果填充的类型为对象,那么被赋值的是同一个内存地址的对象,而不是深拷贝对象。

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]]
ログイン後にコピー

3、数组实例的find方法,用于找出第一个符合条件的数组成员。它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined数组实例的findIndex方法的用法与find方法非常类似,返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1这两个方法都可以接受第二个参数,用来绑定回调函数的this对象。

4、数组实例的copyWithin メソッドは次のとおりです。 2 つの欠点があります。1 つは、パラメータ値の最初の出現位置を見つけることが意味論的に不十分であるため、-1 は直感的に表現できるほどではありません。 2 番目に、内部的に厳密な等価演算子を使用します (== =< /code></span>)、結果は </p><code style="font-family:Consolas, 'Courier New', Courier, FreeMono, monospace;padding-left:3px;padding-right:3px;" >NaN</コード>🎜の判断ミス。 🎜🎜<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">[1, 2, 3, 4, 5].copyWithin(0, 2, 4)// [3, 4, 3, 4, 5]</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div>🎜<code style="font-family:Consolas, 'Courier New', Courier, FreeMono, monospace;padding-left:3px;padding-right:3px;">2. fill🎜 メソッドパディングの開始位置と終了位置を指定する 2 番目と 3 番目のパラメーターも受け入れます。 🎜🎜

塗りつぶされた型がオブジェクトの場合、同じメモリがアドレスに割り当てられます。ディープコピーオブジェクトではなくオブジェクトです。 🎜

//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]
ログイン後にコピー
ログイン後にコピー
🎜🎜🎜🎜🎜3. 🎜配列インスタンスの 🎜find🎜 メソッド。条件を満たす最初の配列メンバーを見つけるために使用されます。そのパラメータはコールバック関数であり、最初の戻り値が見つかるまで、すべての配列メンバーがコールバック関数を順番に実行します 🎜true🎜 メンバーを取得し、そのメンバーを返します。資格のあるメンバーがいない場合は、 🎜unknown を返します。 🎜。 🎜🎜配列の 🎜findIndex🎜 メソッドインスタンスの使用法は 🎜find と非常に似ています。 🎜 メソッド、戻り値 条件を満たす最初の配列メンバーの位置、またはすべてのメンバーが条件を満たさない場合は、🎜-1🎜。 🎜🎜どちらのメソッドも、コールバック関数をバインドするために使用される 2 番目のパラメーターを受け入れることができます🎜この🎜 オブジェクト。 🎜🎜🎜🎜🎜4, 🎜配列インスタンスの 🎜copyWithin🎜 メソッドは、現在の配列内で、指定された位置のメンバーを他の位置にコピーします (元のメンバーは上書きされます)。 , 次に、現在の配列を返します。つまり、このメソッドを使用すると、現在の配列が変更されます。 🎜🎜🎜🎜

它接受三个参数。

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

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

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

[1, 2, 3, 4, 5].copyWithin(0, 2, 4)// [3, 4, 3, 4, 5]
ログイン後にコピー
ログイン後にコピー

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]
ログイン後にコピー
ログイン後にコピー

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

function ArrayOf(){
  return [].slice.call(arguments);}
ログイン後にコピー

相关推荐:

js数组操作实例分析

JS数组去重方法总结

js数组常用的一些排序法

以上がjs配列の知識のまとめと共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート