我正在尝试将键值对添加到现有的javascript关联数组中.关键需要是一个变量.这适用于JSON编码.我意识到有很多插件和框架,但我想要一个简单的答案.
ary.push({name: val});
Run Code Online (Sandbox Code Playgroud)
where ary
是一个新数组,name
是一个包含键的变量,val
是这个条目的值.
我在jQuery
循环中执行此操作,循环遍历表单字段.
Mat*_*att 169
在ES6中,您可以使用解构赋值 ;
ary.push({[name]: val});
Run Code Online (Sandbox Code Playgroud)
但是,鉴于这是ES6语法,通常的警告适用; 这在某些浏览器中并不起作用(特别是IE和Edge 13)......尽管Babel会为您提供此信息.
您需要定义一个对象并使用方括号表示法来设置属性;
var obj = {};
obj[name] = val;
ary.push(obj);
Run Code Online (Sandbox Code Playgroud)
如果您想要更多地阅读它,请参阅本文关于方括号和点符号之间的差异.
whe*_*hys 33
var ary = [];
function pushToAry(name, val) {
var obj = {};
obj[name] = val;
ary.push(obj);
}
pushToAry("myName", "myVal");
Run Code Online (Sandbox Code Playgroud)
刚刚完全阅读了您的问题,您需要的只是以下内容
$(your collection of form els).serializeArray();
Run Code Online (Sandbox Code Playgroud)
好老jQuery
Jam*_*gne 25
"关联数组"实际上只是一个对象.您不使用push,只需为对象指定属性:
ary[name] = val;
Run Code Online (Sandbox Code Playgroud)
以下代码将帮助您
ary.push( {[name]: val} );
Run Code Online (Sandbox Code Playgroud)
见下面的例子
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] });
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
183476 次 |
最近记录: |