首页 > 解决方案 > 无法通过键更改值

问题描述

我是 JavaScript 新手。我有一个树结构,当数组长度大于 5 时,我想将“标签”属性值从字符串数组更改为字符串。

ChangeTags(obj) {
    Object.keys(obj).forEach(key => {
      (key === 'tags' && obj[key].length > 5) && obj["tags"] = "some value" ||
      (obj[key] && typeof obj[key] === 'object') && this.removeEmptyNodes(obj[key]);
    });
    return obj;
  };

口译员不允许我在第 4 行做作业。我究竟做错了什么?

标签: javascript

解决方案


我认为你的问题是括号。尝试这个:

ChangeTags(obj) {
Object.keys(obj).forEach(key => {
  ((key === 'tags' && obj[key].length > 5) && obj["tags"] = "some value") ||
  ((obj[key] && typeof obj[key] === 'object') && this.removeEmptyNodes(obj[key]));
});
return obj;
};

推荐阅读