溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JS怎么根據(jù)條件取出數(shù)組中對(duì)應(yīng)項(xiàng)

發(fā)布時(shí)間:2023-03-28 11:57:22 來(lái)源:億速云 閱讀:89 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇“JS怎么根據(jù)條件取出數(shù)組中對(duì)應(yīng)項(xiàng)”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“JS怎么根據(jù)條件取出數(shù)組中對(duì)應(yīng)項(xiàng)”文章吧。

JS如何根據(jù)條件取出數(shù)組中對(duì)應(yīng)項(xiàng)

一、確定我們?cè)谀膫€(gè)數(shù)組下進(jìn)行查找

JS怎么根據(jù)條件取出數(shù)組中對(duì)應(yīng)項(xiàng)

 二、確定查找的條件:

我們假如查找value是11101的那么值

三、為了方便,我們封裝一個(gè)方法,每次需要查找時(shí)調(diào)用這個(gè)方法

function handleFn(arr,num){
		var nameVal = ''
		arr.some(function(item,index){
			if(num==item.value){
				nameVal = item.name
			}
		})
		return nameVal
	}

arr:是傳遞的數(shù)組

num:是參考的值

nameVal:是定義存儲(chǔ)找出來(lái)的值存放位置

最后將這個(gè)值 return出去

四、在需要的地方調(diào)用此方法并傳遞對(duì)應(yīng)的值 

var politicsStr = handleFn(politicsObj,$('#politicalInput').val())

這樣就完成了根據(jù)條件去數(shù)組中查找對(duì)應(yīng)的結(jié)果  (#^.^#)

擴(kuò)展:js查找數(shù)組中符合條件的元素

js查找數(shù)組中符合條件元素的幾種方法

一、利用for循環(huán)進(jì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)建一個(gè)新的數(shù)組,新數(shù)組中的元素是通過(guò)檢查指定數(shù)組中符合條件的所有元素。

  • filter() 不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè)。

  • filter() 不會(huì)改變?cè)紨?shù)組。

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()方法只返回?cái)?shù)組中滿足條件的第一個(gè)元素,并非所有元素

  • 當(dāng)數(shù)組中的元素在條件返回 true 時(shí), find() 返回符合條件的元素,之后的值不會(huì)再調(diào)用執(zhí)行函數(shù)。

  • 如果沒(méi)有符合條件的元素返回 undefined

  • find() 對(duì)于空數(shù)組,函數(shù)是不會(huì)執(zhí)行的。

  • find() 并沒(méi)有改變數(shù)組的原始值。

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}

以上就是關(guān)于“JS怎么根據(jù)條件取出數(shù)組中對(duì)應(yīng)項(xiàng)”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)
AI