javascript - 使用 javascript join 和 json.parse 展平数组

标签 javascript arrays

我有这样的嵌套数组,

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/

相关文章:

javascript - MongoDB 中的日期和时间错误

javascript - 输入 : Initials 时进行表单验证/更正

ios - 在类之间存储和传递数据的正确方法

java - 找不到代码有什么问题。 ArrayIndexOutOfBoundsException

javascript - 条件 IF 语句 - if 现代浏览器

javascript - Node.js 中 'require' 声明后的空括号是什么意思?

c - 如何在 For 循环中使用多个 Char 数组和 Float 数组?

C# Mongodb 多对象数组文档的笛卡尔积

objective-c - Objective-C 中的浮点值数组

javascript - 从 Json 对象获取唯一值