我想解决这个问题:
我有一个包含名为的属性的Object specs.此属性包含Array的Objects所有的有2个属性:
所以我的目标是这样的:
Object
-Title
-Date
-Specs [Array]
-- [0] Name: "Power"
-- [0] Value: 5
-- [1] Name: "Weight"
-- [1] Value: 100
Run Code Online (Sandbox Code Playgroud)
所以 - 现在我想检查一下,如果我的Specs-Array包含一个名为"Power"的项目.如果是这种情况,我想使用此元素的值.
我怎么解决这个问题?
Dee*_*eep 14
您可以根据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)Run Code Online (Sandbox Code Playgroud)
考虑主要对象名称是objTemp
你可以做
var arrR = objTemp.Specs.filter(function(ele){
return (ele.Name == "Power")
});
if(arrR.length)
//has prop
else
// no prop
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26583 次 |
| 最近记录: |