オブジェクトを走査するためのメソッド: 1. オブジェクト自身および継承された列挙可能なプロパティをループできる「for in」ステートメント; 2. Object.keys() および Object.values(); 3. Object .getOwnPropertyNames ()。配列を走査するためのメソッド: 1. forEach()、配列内の各要素の関数を呼び出すことができます; 2. map()、配列の各要素に対して指定されたコールバック関数を呼び出します; 3. filter(); 4 . 何か()など
このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 6、Dell G3 コンピューター。
私たちは仕事で配列またはオブジェクトのトラバーサルをよく使用します。for の問題点の 1 つは、追加の変数が定義されることです。for ループが多すぎると、変数が競合する傾向があります。 ES6 では新しいトラバーサル メソッドが提供されています。
1, for (let k in obj) {}
# を見てみましょう。
Properties (オブジェクト自身および継承された列挙可能なプロパティをループします (シンボル プロパティを除く)
let obj = {'0':'a','1':'b','2':'c'} for (let k in obj) { console.log(k+':'+obj[k]) } //0:a //1:b //2:c
2, Object.keys(obj)||
Object.values(obj)
array (
let obj = {'0':'a','1':'b','2':'c'} console.log(Object.keys(obj)) //["0","1","2"] console.log(Object.values(obj)) //["a","b","c"]
3. Object .getOwnPropertyNames(obj)
let obj = {'0':'a','1':'b','2':'c'}; Object.getOwnPropertyNames(obj).forEach(function(key){ console.log(key,obj[key]); }); // 0 a // 1 b // 2 c
1、arr.forEach#パラメータは匿名関数であることに注意してください。最初のパラメータは配列メンバーの値で、2 番目のパラメータはそのインデックスです。 {}
var name = ['张三', '李四', '王五']; ['张三', '李四', '王五'].forEach((v,l,k) => { console.log(v); console.log(l); console.log(k); })
k は、各配列メンバーのインデックス値です。
3、for(let k of arr){ }
は配列をサポートするだけでなく、ほとんどの配列のようなオブジェクト (疑似配列) もサポートします。 DOM NodeList オブジェクトなど。 は文字列トラバーサルもサポートしており、文字列をトラバーサル用の一連の Unicode 文字として扱います。
let arr = ['a','b','c','d'] for(let k in arr){ console.log(k,arr[k]) } // 0 a // 1 b // 2 c // 3 d
4.map(): map はマッピング、つまり 1 対 1 の対応を表します。トラバーサルが完了すると、新しい配列が返されますが、元の配列は変更されません。 5. filter()
フィルタリング、つまりフィルタという意味なので使い方let arr = ['a','b','c','d']
for(let k of arr){
console.log(k)
}
// a
// b
// c
// d
左から右にトラバースし、通常加算、減算、乗算、除算に使用されます var a1 = ['a', 'b', 'c'];
var a2 = a1.map(function(item,key,ary) {
return item.toUpperCase();
});
console.log(a1);// ['a','b','c'];
console.log(a2); //['A','B','C'];
7,すべて (および) 8、一部 (または)
var a1 = [1, 2, 3]; var total = a1.reduce(function(first, second) { return first + second; },0); console.log(total) // Prints 6 //注意 1、就是 return first+second 其实相当于 return first+=second; 也就是说每次的first 是上一次的和 //2、就是function{}后面的参数,如果 有值 那么第一次加载的时候 first = 0; second = 1; 如果没有值 , first = 1 , second = 2;如果后面的参数是个字符串,那么就是会是字符串拼接、
[関連する推奨事項: JavaScript ビデオ チュートリアル、ウェブフロントエンド]
以上がes6 でオブジェクトと配列を走査するためのメソッドは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。