You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用NodeJS从解析后的JSON结果中获取add_ele的数值

NodeJS 获取数组中指定code对应的value值

首先,你给出的数组结构如下(注意实际代码中需确保是合法的JS数组字面量):

const data = [
  { code: 'switch', value: true },
  { code: 'countdown_1', value: 0 },
  { code: 'add_ele', value: 151800 },
  { code: 'cur_current', value: 0 },
  { code: 'cur_power', value: 0 },
  { code: 'cur_voltage', value: 2140 },
  { code: 'test_bit', value: 0 },
  { code: 'voltage_coe', value: 0 },
  { code: 'electric_coe', value: 0 },
  { code: 'power_coe', value: 0 },
  { code: 'electricity_coe', value: 0 },
  { code: 'fault', value: 0 },
  { code: 'relay_status', value: 'last' },
  { code: 'child_lock', value: false }
];

下面是几种实用的实现方法:

方法一:使用Array.find()(最直接)

利用数组的find方法匹配code为add_ele的对象,再取出对应的value:

const targetItem = data.find(item => item.code === 'add_ele');
const addEleValue = targetItem ? targetItem.value : undefined; // 处理找不到目标的情况
console.log(addEleValue); // 输出:151800

方法二:使用Array.forEach()遍历

如果需要在遍历过程中做额外操作,或者兼容更旧的Node版本,可以用forEach:

let addEleValue;
data.forEach(item => {
  if (item.code === 'add_ele') {
    addEleValue = item.value;
  }
});
console.log(addEleValue); // 输出:151800

方法三:转成键值对对象(适合频繁取值场景)

如果需要多次从这个数组中获取不同code对应的值,可以先把数组转成以code为键、value为值的对象,后续取值更便捷:

const codeValueMap = data.reduce((map, item) => {
  map[item.code] = item.value;
  return map;
}, {});

const addEleValue = codeValueMap.add_ele; // 也可以用 codeValueMap['add_ele']
console.log(addEleValue); // 输出:151800

后续要取其他值(比如cur_voltage),直接用codeValueMap.cur_voltage即可,无需再次遍历数组。

内容的提问来源于stack exchange,提问作者user2916359

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 00:07:08