js 动态增加 json属性及值

新手上路,请多包涵

请教!
如下图
clipboard.png
注:b 是动态不确定数量

阅读 6.1k
1 个回答

首先,注意区分 JavaScript 对象字面量和 JSON。JSON 是种数据格式,要求比 JavaScript 对象字面量要严格得多。

另外,你问题中的 b 是一个数组,内容是各变量的值,根本取不到变量名称,所以后面的一切都没有基础可以做到。除非你的 b 中是变量名称,而不是值,那就像下面的代码那样就行

代码使用了 ES6 的 Lambda 表达式语法

// 这样是做不到,C# 有 nameof 运算符,但是 JavaScript 没有
var b = [a1, a2, a3, a4, a5];
// 但是如下下面这样就可以
var c = ["a1", "a2", "a3", "a4", "a5"];

a = (function(global) {
    var r = {};
    c.forEach(key => {
        r[key] = global[key].val();
    });
    return r;
})(typeof window === "undefined" ? global : window);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题