![](/img/trans.png)
[英]Check if a value exists in an Array object in JavaScript or Angular
[英]Javascript check if array value exists in object value
我有一系列汽車,我需要檢查汽車是否存在於 object 中。
const cars = ["mustang", 'sonata'];
const carsObj = {
ford: "mustang",
audi: 'r8',
tesla: 'model 3'
};
到目前為止我所做的是檢查,但我只知道如何使用 object 中存在的數組中的第一個元素。 如果可能的話,我正在尋找最快的方法。
carsObj[Object.keys(carsObj).find(key => carsObj[key] === cars[0])];
這應該返回mustang
,因為它在數組和 object
我需要檢查整個數組,而不是檢查汽車 [0]。 此外,陣列永遠不會那么大。 最多可能有 5 個元素。 循環通過 object 的陣列是否更好?
使用includes()
來搜索整個數組,而不是只檢查第一個元素。
此外,您可以使用Object.values()
代替Object.keys()
,因此您可以直接獲取值,而不必編寫carsObj[key]
const cars = ["mustang", 'sonata']; const carsObj = { ford: "mustang", audi: 'r8', tesla: 'model 3' }; console.log(Object.values(carsObj).find(val => cars.includes(val)))
您只需要 object 的值而不是鍵:
let values = Object.values(carsObj);
它將為您提供值數組 => [ mustang,r8,model 3] 然后使用 forEach 方法
cars.forEach((car)=> {
const found = values.find((value)=> value === car)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.