如何使用js查找數組中符合條件的元素
js查找數組中符合條件元素的幾種方法
一、利用for循環(huán)進行查找
let arr = [ {name: 'zhangsan', age: 18}, {name: 'lisi', age: 17}, {name: 'xiaoming', age: 18}, ], result = [] for (let item of arr){ if(item.age === 18){ result.push(item); } } console.log(result);// [{name: 'zhangsan', age: 18},{name: 'xiaoming', age: 18}]
二、filter() 方法
注意:
filter() 方法創(chuàng)建一個新的數組,新數組中的元素是通過檢查指定數組中符合條件的所有元素。
filter() 不會對空數組進行檢測。
filter() 不會改變原始數組。
let arr = [ {name: 'zhangsan', age: 18}, {name: 'lisi', age: 17}, {name: 'xiaoming', age: 18}, ]; let result = arr.filter(item=>item.age === 18) console.log(result);// [{name: 'zhangsan', age: 18},{name: 'xiaoming', age: 18}]
三、find()方法
注意:
find()方法只返回數組中滿足條件的第一個元素,并非所有元素
當數組中的元素在條件返回 true 時, find() 返回符合條件的元素,之后的值不會再調用執(zhí)行函數。
如果沒有符合條件的元素返回 undefined
find() 對于空數組,函數是不會執(zhí)行的。
find() 并沒有改變數組的原始值。
let arr = [ {name: 'zhangsan', age: 18}, {name: 'lisi', age: 17}, {name: 'xiaoming', age: 18}, ]; let result = arr.find(item=>item.age === 18) console.log(result);// {name: 'zhangsan', age: 18}
附:JavaScript查找一個數組中符合某個條件的值,并將符合條件的值存入新的數組
1. 利用find函數和es6箭頭函數,下面方法取到數組中滿足條件的第一個元素;
var newArray = {};//新對象 var array = [ {name:'aiai',age:18}, {name:'sisi',age:18}, {name:'lulu',age:18}, {name:'sisi',age:19} ]; //查找符合條件值并存入新數組 newArrar = this.array.find((item) => { if(item.name === 'sisi'){ return item } }) //此時 newArray = {name:'sisi',age:18}
2. 查找符合條件的所有元素
var newArray = [];//新數組 var j = 0; var array = [ {name:'aiai',age:18}, {name:'sisi',age:18}, {name:'lulu',age:18}, {name:'sisi',age:19} ]; //目標數組 //查找符合條件值并存入新數組 for(let i in array){ if(array[i].name == 'sisi'){ newArray[j++] = array[i] } } //此時 newArray = [{name:'sisi',age:18},{name:'sisi',age:19}]
總結
到此這篇關于如何使用js查找數組中符合條件的元素的文章就介紹到這了,更多相關js查找數組符合條件的元素內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!