var data = [
    {
        name: '小熊',
        money: 2000
    },
    {
        name: '瘦虎',
        money: 1000
    },
    {
        name: '大夫',
        money: 500
    },
    {
        name: '靜臭',
        money: 100
    }
]

for迴圈方法

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
}

forEach方法,forEach可以帶入三個參數(名稱自訂),分別是(物件內容,物件位置,整個物件)

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,讓程式碼更精簡

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/47ff4456-e101-4402-b194-8296becee136/1566892281189.jpg

用filter篩選陣列,篩選出的陣列可以再新增到新的陣列上,達到搜尋效果

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()

使用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:'屁孩'
		}
	}
})

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/cdd3bbd7-c459-4464-9af4-8ccf9c0c0826/1566971435004.jpg