var data = [
{
name: '小熊',
money: 2000
},
{
name: '瘦虎',
money: 1000
},
{
name: '大夫',
money: 500
},
{
name: '靜臭',
money: 100
}
]
var len = data.len;
for(var i =0; i < len; i++){
console.log(data[i]);//陣列內容 {name:'小熊'money:2000}......
console.log(i) //陣列位置0 1 2 3
}
for可以指定物件長度,但forEach不能
data.forEach(function(item,index,arr){
console.log(item); //{name: "小熊", money: 2000}..
console.log(index);// 0 1 2 ....
console.log(arr); //(4) [{…}, {…}, {…}, {…}] ...
})
用涵式帶參數的方式帶入forEach,讓程式碼更精簡
var data = [890,590,699,499,888];
var newData = data.filter(function(item){
return item > 500; //篩選大於500的數字,回傳
})
console.log(newData); //新的陣列 [890, 590, 699, 888]
使用map()需要return一個值,一樣式三個參數(物件內容,物件位置,整個物件)
如果沒回傳值的話,會產生和物件長度一樣的undefined陣列
var data = [890,590,699,499,888];
var mapData = data.map(function(item,index,arr){
return item //物件內容
return index //物件位置
return app //整個物件
})
var mapData = data.map(function(item,index,arr){
if(item.age >= 18){
return{
...item,
adult:'成年'
}
}else{
return{
...item,
aduit:'屁孩'
}
}
})