最近專案中用到的運算元據的一些簡便方法

lonelyRoad發表於2018-12-07

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)

相關文章