方法一,reduce配合 concat Array.isArray()
<script>
var arr = [1, [2, 3, 4], 3, 4]
function fn(arr) {
return arr.reduce((pre, cur) => {
return pre.concat(Array.isArray(cur) ? fn(cur) : cur)
}, [])
}
console.log(fn(arr));
</script>
方法二: 把数组转换成字符串,然后转换成数组,在将数组里面的每一项使用map方法,把字符串转换成数字。
<script>
var arr = [1, [2, 3, 4], 3, 4]
var ret = arr.toString().split(',').map((item) => {
return parseFloat(item)
})
console.log(ret);
</script>
方法三:ES6方法
<script>
var arr = [1, [2, 3, 4], 3, 4]
var ret = arr.flat(Infinity)
console.log(ret);
</script>