我有这样的嵌套数组,
var a=[1,2,[3,4,[5,6]]];
我正在尝试将其转换为展平数组。
var a=[1,2,[3,4,[5,6]]];
var b = a.join(',');
console.log(b);
var c = JSON.parse("[" + b + "]")
console.log(typeof c);
我使用了 join 和 JSON.parse() 方法,我能够转换为平面数组,但是当我对数组“c”执行 typeof 时,它表示类型为“对象但不是数组”。我的问题是,在 Javascript 中,一切都被视为“对象”。将数组“c”作为“对象”返回是否正确?
最佳答案
数组是一种对象
,这就是它将对象打印到控制台的原因。要测试数组是否是数组,您需要使用 Array.isArray(someVar)。
注意:您可以使用flat()展平数组。
let a = [1,2,[3,4,[5,6]]]
// 2 is the depth
console.log(a.flat(2))
console.log(typeof a)
// Prints true
console.log(Array.isArray(a))
// Prints false
console.log(Array.isArray({a:123}))
// Prints false
console.log(Array.isArray(123))
// Prints false
console.log(Array.isArray('Kitty'))
关于javascript - 使用 javascript join 和 json.parse 展平数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54937366/