我有一个看起来像这样的函数:
let result = [];
$(this).find('.js-readable').each(function(){
if (this._value().length > 0){
result.push({
[this.mainId] : this._value()
});
};
});
return result
结果我得到一个如下所示的数组:
[{
"dpr_name3": "3"
}, {
"dpr_name1": "1"
}, {
"dpr_name4": "5"
}, {
"dpr_name2": "2"
}, {
"dfnc_cur": "181"
}, {
"doc_dt": "14.11.2017"
}]
如何更改我的功能以达到这个目的:
[{
"dpr_name3": "3",
"dpr_name1": "1",
"dpr_name4": "5",
"dpr_name2": "2",
"dfnc_cur": "181",
"doc_dt": "14.11.2017"
}]
答案 0 :(得分:1)
你不必进入阵列。您所要做的就是使用空对象作为第一个元素初始化数组,然后在循环时将键值添加到其中:
let result = [{}];
$(this).find('.js-readable').each(function(){
if (this._value().length > 0){
result[0][this.mainId] = this._value;
};
});
return result
答案 1 :(得分:0)
您可以将result
更改为对象,并将值分配给给定的键。
let result = {};
$(this).find('.js-readable').each(function(){
if (this._value().length > 0){
result[this.mainId] = this._value()
};
});
以后使用,可以将结果包装在数组中。