javascript - 多重数组转换对象?
PHP中文网
PHP中文网 2017-04-10 16:03:44
[JavaScript讨论组]

arr = [ {1:"a"},{2:"b"}]
大概就是上边这种数组,怎么转换成下边这种对象。
obj = {1:"a",2:"b"}

向后台传参数的话,是不是下边这种更合适一些?

PHP中文网
PHP中文网

认证0级讲师

全部回复(4)
巴扎黑
var obj = {};
for (var i = 0; i < arr.length; i++) {
    for (var k in arr[i]) {
        obj[k] = arr[i][k];
    }
}
伊谢尔伦
var arr = [{1:'a'},{2:'b'}];
var obj = eval('('+(JSON.stringify(arr[0])+JSON.stringify(arr[1])).replace(/}{/,',')+')');
console.log(obj);
//Object {1: "a", 2: "b"}
PHP中文网
var arr = [ {1:"a"},{2:"b"}];
var obj = {};

//es2015
arr.forEach(function(v){
  Object.assign(obj, v);
});

console.log(obj);
var arr = [ {1:"a"},{2:"b"}];
var obj = {};

//jQuery version
jQuery.each(arr,function(k, v){
  jQuery.extend(obj, v);
});

console.log(obj);
PHPz

@代码宇宙 的答案能够完美实现。
但你的数据结构或许不是最好的选择,纯数字连续的属性值,应该直接做成数组,即['a', 'b']这种形式。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号