向 JavaScript 数组或散列表添加动态键、值对

我正在尝试给现有的 javascript 关联数组添加一个键值对。密钥需要是一个变量。这是用于 JSON 编码的。我知道有很多插件和框架可以解决这个问题,但是我想要一个简单的答案。

ary.push({name: val});

其中 ary是一个新的数组,name是一个包含键的变量,val是这个条目的值。

我在一个遍历表单字段的 jQuery循环中执行此操作。

234489 次浏览

“关联数组”实际上只是一个对象,你不用 push,你只需要给对象分配属性:

ary[name] = val;

在 ES6..。

在 ES6中,你可以使用 破坏性转让;

ary.push({[name]: val});

然而,考虑到这是 ES6语法,通常需要注意的是: 这在某些浏览器中不起作用(显然是 IE 和 Edge 13) ... ... 尽管 Babel 会为您解释这一点。


没有 ES6(遗留浏览器支持) ..。

您需要定义一个对象并使用方括号表示法来设置属性;

var obj = {};


obj[name] = val;


ary.push(obj);

如果您有进一步了解它的冲动,请参阅 这篇文章关于方括号和点符号之间的差异。

var ary = [];


function pushToAry(name, val) {
var obj = {};
obj[name] = val;
ary.push(obj);
}


pushToAry("myName", "myVal");

虽然刚刚完全阅读了你的问题,所有你需要的是以下

$(your collection of form els).serializeArray();

老 JQuery

const tStyles = [];
for (const i of iStyles) {
const temp = {};
temp[`${style}`] = `../dist/css/uikit.${wFile}.${style}.css`;
tStyles.push(temp);
}

Json: {“ black-beige”: “ . ./dist/css/uikit.or.black-beige. css”}

下面的代码将帮助您

ary.push( {[name]: val} );

请看下面的例子

let allData = [{name: "Cat", type: "Animal"}]
let finalData: any = [];
for (let i = 0; i < allData.length; i++)
{
let obj = allData[i];
for (let KEY in obj)
{
//Pushing data to other array as object
this.finalData.push({ [KEY] : obj[KEY] });
}
}