如何使用JavaScript将指定JSON数组转换为目标键值格式?
解决方法:用
Array.map()转换数组结构 嘿,这个转换需求其实很直接,JavaScript的Array.map()方法就是干这个事儿的——它能遍历原数组的每一项,把每个元素转换成你想要的新结构,返回一个全新的数组。
基础实现代码
// 你的原始JSON数据 const originalBatteryData = [{"batery":"98"},{"batery":"97"},{"batery":"80"},{"batery":"75"}]; // 执行转换 const transformedData = originalBatteryData.map(item => { // 把字符串类型的batery值转成数字,再封装成y属性的对象 return { y: Number(item.batery) }; }); console.log(transformedData); // 输出结果正好是你要的:[{"y":98},{"y":97},{"y":80},{"y":75}]
简化写法(箭头函数隐式返回)
如果想让代码更简洁,可以用箭头函数的隐式返回,注意要把对象用括号包起来(不然会被当成函数体的代码块):
const transformedData = originalBatteryData.map(item => ({ y: Number(item.batery) }));
健壮性优化(处理异常情况)
如果你的原始数据里可能存在缺失batery字段、或者字段值不是有效数字的情况,可以加个判断逻辑,避免转换出错:
const transformedData = originalBatteryData.map(item => { // 先校验batery字段是否存在且能转换为数字,否则用0作为默认值 const batteryValue = item.batery && !isNaN(Number(item.batery)) ? Number(item.batery) : 0; return { y: batteryValue }; });
这样不管原始数据有没有小问题,转换后的数组都能保持稳定的结构~
内容的提问来源于stack exchange,提问作者Srinivas
相关产品推荐
相关产品推荐

