Javascriptの配列、文字列、オブジェクト遍歴の方法と違い
2203 ワード
まず3つの数値を説明します.配列、文字列、オブジェクト
行列
for of
行列
keys()
行列配列のkeys()方法は、各インデックス値からなるシーケンス を返します.オブジェクトのkeys()メソッドは、属性からなる配列 を返します.文字列はkeys()の方法がありません.
values()
行列 配列のvalues()方法は、各値からなるシーケンス を返します.オブジェクトのvalues()メソッドは、属性値からなる行列 を返します.文字列はvalues()の方法がありません.
entries()
行列 配列のentries()メソッドは、各インデックス値と配列値からなるキーペア を返します.オブジェクトのentries()メソッドは、各属性と属性値からなる行列 を返します.
var array = [4,5,6,7];
var string = 'gaoliang';
var object = {
name:'gl',
age:20,
sayName:function() {
console.log(this.name);
}
};
for in行列
for(let i in array) {
console.log(i); // 0 1 2 3
}
文字列 for(let i in string) {
console.log(i); // 0 1 2 3 4 5 6 7
}
オブジェクト for(let i in object) {
console.log(i); // name age sayName
}
まとめ:for inは配列、文字列を巡回するとき、iは各項目のインデックス値に対応し、それぞれのインデックス値シーケンスを返します.オブジェクトを巡回した場合、iはオブジェクトの属性に対応します.for of
行列
for(let v of array) {
console.log(v); // 4 5 6 7
}
文字列 for(let v of string) {
console.log(v); // g a o l i a n g
}
オブジェクト for(let v of object) {
console.log(v); // :object is not iterable
}
まとめ:for ofサイクルで、配列または文字列を巡回した場合、vは各項目の値に対応し、それぞれの値のシーケンスを返します.オブジェクトをfor ofで巡回できません.keys()
行列
for(let i of array.keys()) {
console.log(i); // 0 1 2 3
}
オブジェクトconsole.log(Object.keys(object)); // ['name','age','sayName'];
まとめ:values()
行列
for(let i of array.values()) {
console.log(i); // 4 5 6 7
}
オブジェクトconsole.log(Object.values(object)); // ['gl',20,f]
まとめ:entries()
行列
for(let [index,value] of array.entries()) {
console.log(index,value); // 0 4 1 5 2 6 3 7
}
オブジェクト console.log(Object.entries(object)); // ['name','gl'] ['age',20] ['sayName',f]
まとめ: