forEachの、のために、マップが昇順でサイクル性能に使用されています。
配列による2つのだけループした後、パフォーマンスははるかに良いよりもですが、欠点は、時間内にループの外ではない、それはすべての上のサイクルを終え考慮されなければなりません。
以下のための最も基本的な:
let arr = [];
for (let i = 0; i < 10; i++) {
arr[i] = i;
}
console.log(arr);//[0,1,2,3,...,9]
アイテム(項目配列インデックス)、インデックス(配列インデックス)、アレイ(元の配列):forEachのは、3つの利用可能な項目があるマップ
のforEach()戻り値が呼び出しを連鎖しない、定義されていないが。
()、値を返す新しい配列を返すマップ、オリジナルを変更しない配列は、それが空の配列を検出しないであろう。
这里有一数组:
tableData: [{
cno: '12306',
cname: '面向对象程序设计',
ctype:0,
cstatus:1,
}, {
cno: '12138',
cname: '数据结构与算法',
ctype:1,
cstatus:3
}, {
cno: '12580',
cname: '富客户端开发',
ctype:2,
cstatus:3
}],
私はすべてのCNAMEエントリの新しいアレイを形成するようにしたいです:
var arr=this.tableData.map((val,index)=>{
console.log(val);
return val.cname; //不写return默认返回的是val一整项
})
console.log(arr); //面向对象程序设计,数据结构与算法,富客户端开发
:forEachのは適用されません同じパーティ
var arr2=this.tableData.forEach(val=>{
console.log(val);
return val.cname; //forEach没有返回值
})
console.log(arr2) //undefined
したがって、forEachのは、より一般的にこのように使用します:
var items = [...];
items.forEach((item, i) => {
if (item.status == 'new')
this.apply(item, i)
});