我正在阅读ruby的数组flatten函数并在Javascript中寻找类似的功能但没有找到。所以,我自己创建了它。
Input: [[1,2,[3]],4]
Output : [1,2,3,4]
如果你想使用reduce / concate方法,你将无法得到多维数组的理想答案。
您认为什么是解决方案代码?!!!
答案 0 :(得分:0)
所以,这是我用来解决问题的代码。
var givenArr = [[1,2,[3]],4];
var outputArray = [];
function typeOf(value) {
var s = typeof value;
if (s === 'object') {
if (value)
{
if (Object.prototype.toString.call(value) == '[object Array]') {
s = 'array';
}
}else{
s = 'null';
}
}
return s;
}
function getElementFromArray(array)
{
if(array.length == 0 ) return;
for(var i = 0; i< array.length; i++ )
{
if( typeOf(array[i]) === 'array' )
{
getElementFromArray(array[i]);
}else{
outputArray.push(array[i]);
}
}
}//end getElementFromArray
getElementFromArray(givenArr);
console.log(outputArray);
//output [1,2,3,4]