[英]Combine two arrays into an object in JSON
column_names: [
"School Year Ending",
"Total Students",
"American Indian/Alaskan Native: Total",
"American Indian/Alaskan Native: Male",
"American Indian/Alaskan Native: Female",
"Asian/Pacific Islander: Total",
"Asian/Pacific Islander: Male",
"Asian/Pacific Islander: Female",
"Hispanic: Total",
"Hispanic: Male",
"Hispanic: Female",
"Black: Total",
"Black: Male",
"Black: Female",
"White: Total",
"White: Male",
"White: Female"
],
data: [
"2011-12-31",
3471888,
39433,
19926,
19507,
182697,
94104,
88593,
686081,
344910,
341171,
536271,
260720,
275551,
1970983,
1006592,
964391
]
Is there some way to turn these two JSON arrays into an object format? 有什么方法可以将这两个JSON数组转换为对象格式? For instance:
例如:
"School Year Ending": "2011-12-31",
"Total Students": 3721888,
...
I'd prefer to do this using a lo-dash function for convenience. 为了方便起见,我更喜欢使用lo-dash函数。 Is there something like this?
有这样的东西吗?
_.zipObject(column_names, data);
应该这样做。
Using vanilla JavaScript - Fiddle 使用香草JavaScript- 小提琴
var column_names = [
"School Year Ending",
"Total Students",
"American Indian/Alaskan Native: Total",
"American Indian/Alaskan Native: Male",
"American Indian/Alaskan Native: Female",
"Asian/Pacific Islander: Total",
"Asian/Pacific Islander: Male",
"Asian/Pacific Islander: Female",
"Hispanic: Total",
"Hispanic: Male",
"Hispanic: Female",
"Black: Total",
"Black: Male",
"Black: Female",
"White: Total",
"White: Male",
"White: Female"
],
data = [
"2011-12-31",
3471888,
39433,
19926,
19507,
182697,
94104,
88593,
686081,
344910,
341171,
536271,
260720,
275551,
1970983,
1006592,
964391
],
obj = {};
for (var i = 0, l = column_names.length; i < l; i += 1) {
obj[column_names[i]] = data[i]
}
console.log(obj);
And yet another solutions with vanilla JS! 还有香草JS的另一种解决方案! This uses forEach
这用于forEach
http://jsfiddle.net/w5f36jwd/ http://jsfiddle.net/w5f36jwd/
school_data = {
column_names:
[
"School Year Ending",
"Total Students",
"American Indian/Alaskan Native: Total",
"American Indian/Alaskan Native: Male",
"American Indian/Alaskan Native: Female",
"Asian/Pacific Islander: Total",
"Asian/Pacific Islander: Male",
"Asian/Pacific Islander: Female",
"Hispanic: Total",
"Hispanic: Male",
"Hispanic: Female",
"Black: Total",
"Black: Male",
"Black: Female",
"White: Total",
"White: Male",
"White: Female"
],
data:
[
"2011-12-31",
3471888,
39433,
19926,
19507,
182697,
94104,
88593,
686081,
344910,
341171,
536271,
260720,
275551,
1970983,
1006592,
964391
]
}
var new_object = {};
school_data.column_names.forEach(function(el, index, data_array){
new_object[el] = school_data.data[index];
});
console.log(new_object);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.