【发布时间】:2021-01-11 00:04:12
【问题描述】:
这可行,但问题是我可以一次将naziv.value 保存在var naziv 中,在这个find method 中,这样我就不必声明另一个变量了吗?
var naziv = obj.find(c => c.name === "naziv");
console.log(naziv.value)
当前输出应该是test by console.log(naziv.value),我想只是console.log(naziv)
var obj = [{
name: "naziv",
value: "test"
},
{
name: "zzz",
value: "xxx"
}
]
var naziv = obj.find(c => c.name === "naziv");
console.log(naziv.value)
编辑: 如果名称相同,还可以创建一个数组或值,例如:
var obj = [{
name: "naziv",
value: "test"
},
{
name: "zzz",
value: "xxx"
},
{
name: "Telefon[]",
value: "tel1"
}, {
name: "Telefon[]",
value: "tel2"
}
]
var naziv = obj.find(c => c.name === "Telefon[]");
console.log(naziv.value)
应该是:[tel1,tel2]
【问题讨论】:
-
您指望
name是独一无二的。有没有可能它不会/测试它不是? -
var naziv=obj.find(c => c.name === "naziv").value; -
我也喜欢@Abdullah Razzaki 的解构解决方案。
-
如果你想在同一迭代中进行过滤和映射,只需使用 for 循环:
const output = []; for(let o of obj) if(o.name === "naziv") output.push(o.value) -
var values=obj.filter(item=>item.name=="Telefon[]").map(item=>item.value)
标签: javascript arrays object properties