聚会有点晚了,但这应该可以完成工作
2 个阵列
var ab = "",
a = [1, 2, 3, 4, 5, 6, 7, 8, 9],
b = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"],
x = b.length,
i = 0;
for (; i < x; i++) {
if (typeof a[i] == 'undefined' || typeof b[i] == 'undefined') continue;
ab += '[' + a[i] + ',"' + b[i] + '"],';
}
ab = JSON.parse("[" + ab.substr(0, --ab.length) + "]");
// ab[0][0] === 1
// ab[0][1] === 'a'
// ab[0] === [1, "a"]
// ab === [
// [1, "a"],
// [2, "b"],
// [3, "c"],
// [4, "d"],
// [5, "e"],
// [6, "f"],
// [7, "g"],
// [8, "h"],
// [9, "i"]
// ];
Try it at JSFIDDLE
假设 a 和 b 的长度相同,这会将您的数组转换为 json 对象。
6 个阵列
您可以扩展代码以容纳更多这样的数组
var ab = "",
a = [1, 2, 3, 4, 5, 6, 7, 8, 9],
b = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"],
c = ["h", "i", "j", "k", "l", "m", "n", "o", "p", "q"],
d = ["r", "b", "c", "d", "e", "f", "g", "h", "i", "j"],
e = ["s", "b", "c", "d", "e", "f", "g", "h", "i", "j"],
f = ["t", "b", "c", "d", "e", "f", "g", "h", "i", "j"],
x = b.length,
i = 0;
for (; i < x; i++) {
if (typeof a[i] == 'undefined' || typeof b[i] == 'undefined') continue;
ab += '[' + a[i] + ',"' + b[i] + '","' + c[i] + '","' + d[i] + '","' + e[i] + '","' + f[i] + '"],';
}
ab = JSON.parse("[" + ab.substr(0, --ab.length) + "]");
// ab[0] === [1, "a", "h", "r", "s", "t"]
// ab[0][5] === "t"
// ab[0][3] === "h"
6 ARRAY FIDDLE
解释
我们使用一个循环,从0 开始,一直到数组对象之一的长度,本例为b.length。
然后对于每次迭代,我们将数组对象的值转换为附加到对象ab 的多维字符串。同时确保每次迭代的值不是undefined。在循环之后,我们将多维字符串转换为带有 JSON.parse 的 JSON 对象