[英]How to check if key of object in array has specific value in javascript
[英]JavaScript/VueJS: Check if an Array contains an object with an element that has specific value
我想解决这个问题:
我有一个包含名为specs
的属性的Object。 此属性包含一个Objects
Array
,它们都具有2个属性:
所以我的目标是这样的:
Object
-Title
-Date
-Specs [Array]
-- [0] Name: "Power"
-- [0] Value: 5
-- [1] Name: "Weight"
-- [1] Value: 100
所以 - 现在我想检查一下,如果我的Specs-Array包含一个名为“Power”的项目。 如果是这种情况,我想使用此元素的值。
我怎么解决这个问题?
您可以根据name属性过滤数组,并检查过滤器是否返回结果数组,如果是,则可以将其与index一起使用以获取值。
var data = {specs:[{Name:"Power",Value:"1"},{ Name:"Weight",Value:"2"},{Name:"Height",Value:"3"}]} var valObj = data.specs.filter(function(elem){ if(elem.Name == "Power") return elem.Value; }); if(valObj.length > 0) console.log(valObj[0].Value)
考虑主要对象名称是objTemp
你可以做
var arrR = objTemp.Specs.filter(function(ele){
return (ele.Name == "Power")
});
if(arrR.length)
//has prop
else
// no prop
$.each(object.Specs,function(index,obj){
if(obj.Name === "Power")
var myVar = obj.Value
});
你可以在数组上使用一些方法,它会返回true或false,具体取决于你的条件,如下所示:
var powerIndex
var doesPowerExist = yourObj.specs.some((spec, index) => {
var powerIndex = index
return spec.name == "Power"
})
您可以使用doesPowerExist
var来决定是否使用此元素的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.