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

JavaScript对象数组:修改键名并将YES/NO转为布尔值true

解决方案:将数组对象中的"YES"/"NO"统一转换为布尔值true

嗨,我来帮你调整现有代码,实现把所有"YES"和"NO"值都转成布尔值true的需求!

修改后的完整代码

"use strict"; 
var data = [{ "OPEN COVER (YES or NO)": "YES" }, { "OPEN COVER (YES or NO)": "NO" }, { "OPEN COVER (YES or NO)": "YES" }]; 
var result = []; 

data.map(function (item) { 
  var fixed = {}; 
  var keys = Object.keys(item); 
  
  keys.map(function (key) { 
    if (key === 'OPEN COVER (YES or NO)') {
      // 直接将值设置为布尔true,不管原value是YES还是NO
      fixed['open_cover'] = true; 
    }
  }); 
  
  result.push(fixed); 
}); 

console.log(result);

关键修改点

在原来的键名映射逻辑里,我们不再直接把原对象的item[key]赋值给新键open_cover,而是直接赋值为布尔值true——这样不管原数据里是"YES"还是"NO",最终都会被转换成true。


额外补充(如果是笔误的常见需求)

如果你其实是想把"YES"转为true,"NO"转为false(这是更常见的场景),只需要把赋值逻辑改成下面这样就行:

fixed['open_cover'] = item[key] === 'YES';

这个表达式会在原value等于"YES"时返回true,其他情况(比如"NO")返回false,非常简洁高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:02:29