扫码关注官方订阅号
arr = ["a=1","b=2","c=3"];转换成 obj={a:1,b:2,C:3}
小伙看你根骨奇佳,潜力无限,来学PHP伐。
var obj = new Object(); var arr = ["a=1","b=2","c=3"]; for (var x in arr){ var split = arr[x].split('='); obj[split[0] ] = split[1]; }
obj = {} for (var i=0; i<arr.length; i++) { [k, v] = arr[i].split("="); obj[k] = v; }
var obj = JSON.parse('{' + arr.map(function(el){ return '"' + el.replace('=','":'); }) +'}');
Array.prototype.toObject = function() { var obj = {}; for (var index in this) { if (this.hasOwnProperty(index)) { if(this[index].indexOf&&this[index].indexOf('=')>-1){ var splits = this[index].split('='); obj[splits[0]] = splits[1]; }else{ obj[index] = this[index]; } } } return obj; }; var arr0 = ["a=1","b=2","c=3"]; var arr1 = ['r',5,6]; arr0.toObject();//Object {a: "1", b: "2", c: "3"} arr1.toObject();//Object {0: "r", 1: 5, 2: 6}
虽然 夜颩偲雨 和 张栈不全 给出很妙的解决方法,但我看还没有人用过eval实现,所以尝试写了个用eval实现的例子
var arr = ["a=1","b=2","c=3"]; o = arrToObject(arr); alert(o); alert(o.a + " " + o.b + " " + o.c); function arrToObject(arr){ var strJs = '({'; for(var i=0;i<arr.length;i+=1){ var as = arr[i].split("="); strJs = strJs + as[0] + ':' +'"' + as[1] + '"' +','; } strJs = strJs.substr(0,strJs.length-1) + '})'; return eval(strJs); }
var obj = JSON.parse('{' + arr.join(',').replace(/(\w)=/g, '"$1":') + '}');
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
虽然 夜颩偲雨 和 张栈不全 给出很妙的解决方法,但我看还没有人用过eval实现,所以尝试写了个用eval实现的例子