我想把一个有规律的数组转成json对象的数组呢,如下:
数组
[
"3040131111",
"小明",
"1",
"大学体育Ⅰ",
"通识课",
"2.00",
"75",
"总评成绩",
"2.50",
"A16603001A",
"32.00",
"3040133109",
"小明",
"1",
"基础英语Ⅰ",
"通识课",
"4.00",
"80",
"总评成绩",
"3.00",
"A17001021A",
"64.00"
]
转成这种
[
{
"学号": "3040111111",
"姓名": "小明",
"学期": "1",
"课程": "大学体育Ⅰ",
"类别": "通识课",
"学分": "2.00",
"成绩": "75",
"成绩类型": "总评成绩",
"绩点": "2.50",
"课程彪悍": "A16603001A",
"课时": “32.00”
},
{
"学号": "3040111111",
"姓名": "小明",
"学期": "1",
"课程": "大学体育Ⅰ",
"类别": "通识课",
"学分": "2.00",
"成绩": "75",
"成绩类型": "总评成绩",
"绩点": "2.50",
"课程彪悍": "A16603001A",
"课时": “32.00”
}
]
用什么方法去做呢?
function array_chunk(input, size, preserve_keys) {
var x, p = '',
i = 0,
c = -1,
l = input.length || 0,
n = [];
if (size < 1) {
return null;
}
if (Object.prototype.toString.call(input) === '[object Array]') {
if (preserve_keys) {
while (i < l) {
(x = i % size) ? n[c][i] = input[i] : n[++c] = {}, n[c][i] = input[i];
i++;
}
} else {
while (i < l) {
(x = i % size) ? n[c][x] = input[i] : n[++c] = [input[i]];
i++;
}
}
} else {
if (preserve_keys) {
for (p in input) {
if (input.hasOwnProperty(p)) {
(x = i % size) ? n[c][p] = input[p] : n[++c] = {}, n[c][p] = input[p];
i++;
}
}
} else {
for (p in input) {
if (input.hasOwnProperty(p)) {
(x = i % size) ? n[c][x] = input[p] : n[++c] = [input[p]];
i++;
}
}
}
}
return n;
}
arr = [
"3040131111",
"小明",
"1",
"大学体育Ⅰ",
"通识课",
"2.00",
"75",
"总评成绩",
"2.50",
"A16603001A",
"32.00",
"3040133109",
"小明",
"1",
"基础英语Ⅰ",
"通识课",
"4.00",
"80",
"总评成绩",
"3.00",
"A17001021A",
"64.00"
];
arr_chunk = array_chunk(arr,11).map(function(i){
return {
"学号": i[0],
"姓名": i[1],
"学期": i[2],
"课程": i[3],
"类别": i[4],
"学分": i[5],
"成绩": i[6],
"成绩类型":i[7],
"绩点": i[8],
"课程彪悍": i[9],
"课时": i[10]
}
});
console.log(arr_chunk);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。