Javascript 在数组对象中查找一个值并使用该对象中的另一个值

Javascript 在数组对象中查找一个值并使用该对象中的另一个值,javascript,arrays,object,Javascript,Arrays,Object,无法找到正确的工作流以从循环thro数组中获取以下内容: 循环遍历数组中的所有对象,并查找特定的仓库值 如果该值存在于任何对象中,请使用包含特定仓库值的对象,并在其中返回价格值 例如:如果我搜索1374610389仓库价值,我将得到78.00 var测试=[ { 洛雷姆:“ipsum”, 多洛:“坐下”, 价格:“10.00”, 仓库:1157964289 }, { 洛雷姆:“ipsum”, 多洛:“坐下”, 价格:“22.00”, 仓库:1269753487 }, { 洛雷姆:“ipsu

无法找到正确的工作流以从循环thro数组中获取以下内容:

  • 循环遍历数组中的所有对象,并查找特定的
    仓库
  • 如果该值存在于任何对象中,请使用包含特定
    仓库
    值的对象,并在其中返回
    价格
例如:如果我搜索
1374610389
仓库价值,我将得到
78.00

var测试=[
{
洛雷姆:“ipsum”,
多洛:“坐下”,
价格:“10.00”,
仓库:1157964289
},
{
洛雷姆:“ipsum”,
多洛:“坐下”,
价格:“22.00”,
仓库:1269753487
},
{
洛雷姆:“ipsum”,
多洛:“坐下”,
价格:“78.00”,
仓库:1374610389
},
{
洛雷姆:“ipsum”,
多洛:“坐下”,
价格:“32.00”,
仓库:1674985630
},
{
洛雷姆:“ipsum”,
多洛:“坐下”,
价格:“16.00”,
仓库:1847893458
}
]
var测试=[{
洛雷姆:“ipsum”,
多洛:“坐下”,
价格:“10.00”,
仓库:1157964289
}, {
洛雷姆:“ipsum”,
多洛:“坐下”,
价格:“22.00”,
仓库:1269753487
}, {
洛雷姆:“ipsum”,
多洛:“坐下”,
价格:“78.00”,
仓库:1374610389
}, {
洛雷姆:“ipsum”,
多洛:“坐下”,
价格:“32.00”,
仓库:1674985630
}, {
洛雷姆:“ipsum”,
多洛:“坐下”,
价格:“16.00”,
仓库:1847893458
}];
对于(变量i=0;i
使用属性获取数组的长度,并使用
for
对其进行枚举

还要查扎卡里亚·阿查基的答案,他的方式更优雅

find()方法返回数组中满足提供的测试函数的第一个元素的值

您可以使用方法:

test.find(obj => obj.warehouse == '1374610389').price
var测试=[
{
洛雷姆:“ipsum”,
多洛:“坐下”,
价格:“10.00”,
仓库:1157964289
},
{
洛雷姆:“ipsum”,
多洛:“坐下”,
价格:“22.00”,
仓库:1269753487
},
{
洛雷姆:“ipsum”,
多洛:“坐下”,
价格:“78.00”,
仓库:1374610389
},
{
洛雷姆:“ipsum”,
多洛:“坐下”,
价格:“32.00”,
仓库:1674985630
},
{
洛雷姆:“ipsum”,
多洛:“坐下”,
价格:“16.00”,
仓库:1847893458
}
]

console.log(test.find(obj=>obj.warehouse=='1374610389').price)
OP说如果值存在于任何对象中,请使用该对象,一个简单的问题-我可以使用正则表达式与此语句匹配吗?例如:如果warehouse包含前两个数字?@g5wx warehouse是一个数字,我会非常惊讶地发现正则表达式可以处理数字,但您可以执行类似于
test[I].warehouse.toString().match(expr)
的操作,其中
expr
是您的正则表达式,但我还没有在javascript中真正使用正则表达式,所以不太确定
test.find(obj => obj.warehouse == '1374610389').price