如何在JavaScript中提取多维键值数组中特定键的值并存储到新数组?
嘿,我看看你的问题哈~
你的代码问题出在map的回调函数里——你现在返回的是一个包含a属性的对象,所以最终得到的是[{a: 10.701...}, {a:13.002...}]这样的对象数组,和你想要的纯数值数组不符。
要解决这个很简单,只需要把回调里的返回值改成直接返回elm._value就行,不用把它包在对象里。
修正后的代码
function getPreparedData(data) { if (data) { // 直接返回每个元素的_value值,而非包装成对象 return data[0].map(elm => elm._value); } return []; };
测试验证
用你提供的输入数据测试:
const inputData = [[ {"_time":"2022-01-03T00:00:00Z","_value":10.70140000000014,"ts":1641168000000}, {"_time":"2022-01-04T00:00:00Z","_value":13.002499999999767,"ts":1641254400000}, {"_time":"2022-01-05T00:00:00Z","_value":16.171700000000182,"ts":1641340800000}, {"_time":"2022-01-06T00:00:00Z","_value":17.48929999999981,"ts":1641427200000} ]]; console.log(getPreparedData(inputData)); // 输出:[10.70140000000014,13.002499999999767,16.171700000000182,17.48929999999981]
这样就完全符合你的需求啦~
内容的提问来源于stack exchange,提问作者frank2604
相关产品推荐
相关产品推荐

