1 find
適用場景
根據唯一標示列如id去拿到匹配的資料
let arr = [{
id:1,name:'xiaoming',age:18
},{
id:5,name:'xiaoming',age:12
},{
id:3,name:'xiaoming',age:11
}]
let id = 5;
let source= arr.find((item)=>{
return item.id === id;
})
console.log(source)//{ id: 5, name: 'xiaoming', age: 12 }
複製程式碼
定義和用法
find找到符合條件的元素,就不會再往下找了,不會改變原陣列 ,沒找到返回undefined
2 filuter
適用場景
重新篩選陣列
let arr = [{
id:1,name:'xiaoming',age:18
},{
id:5,name:'xiaoming',age:12
},{
id:5,name:'xiaohong',age:11
}]
let name = 'xiaoming';
let source= arr.filter((item)=>{
return item.name === name;
})
console.log(source)//[ { id: 1, name: 'xiaoming', age: 18 },{ id: 5, name: 'xiaoming', age: 12 } ]
複製程式碼
定義和用法
filuter返回的是個陣列,不會改變原陣列,沒找到返回的是一個[]
3 map
適用場景
for迴圈帶回撥的方法
let arr = [{
id:1,name:'xiaoming',age:18
},{
id:5,name:'xiaoming',age:12
},{
id:5,name:'xiaohong',age:11
}]
let name = 'xiaoming';
let source= arr.filter((item)=>{
return item.name === name;
})
console.log(source)//[ { id: 1, name: 'xiaoming', age: 18 },{ id: 5, name: 'xiaoming', age: 12 } ]
複製程式碼
定義和用法
map返回一個新陣列,陣列中的元素為原始陣列元素呼叫函式處理後的值,不會改變原陣列,
3 fill
適用場景
for迴圈帶回撥的方法
let arr = [{
id:1,name:'xiaoming',age:18
},{
id:5,name:'xiaoming',age:12
},{
id:5,name:'xiaohong',age:11
}]
let name = 'xiaoming';
let source= arr.filter((item)=>{
return item.name === name;
})
console.log(source)//[ { id: 1, name: 'xiaoming', age: 18 },{ id: 5, name: 'xiaoming', age: 12 } ]
複製程式碼
定義和用法
fill 替換陣列中某一個arr.fill(value, start, end)
組合用法
1 刪除指定元素
arr.splice(arr.findIndex(item => item.id === 8), 1)