js實現多位陣列轉化為一位陣列

2021-08-20 12:47:56 字數 1262 閱讀 3345

var arr=[1, [2, [3], 4], 5];

/** 先把陣列按照都好拆分成字串,join(',)

* 在把字串按照逗號拆分成陣列,split(',')

* 此時陣列中的每一項都為字串

* 用for of把每一項轉化正數字number(陣列中的每一項)*/

array.prototype.changearray=function changearray()

}return newarr;

};console.log(arr.changearray(),'changearray');

/*遞迴的思想:

* 迴圈陣列中的每一項如果當前項為陣列的話(array.isarray(item),繼續呼叫函式本身同時傳遞向函式傳遞當前項

* 否則的後就把當前項存放在乙個新的陣列中

* */

array.prototype.changearray2=function changearray2() else }}

chang(_this);

return arr2;

};console.log(arr.changearray2(),'changearray2');

/** 首先把陣列轉化為字串

* 用split(',')按照逗號把字串拆分成陣列中對應的每一項,在每一項轉化為數字就可以了*/

array.prototype.changearray4=function changearray4() );

return newarr;

};console.log(arr.changearray4(),'changearray4');

//=>採用遞迴

function changearray3(arr) else

}return newarr;

}console.log(change(arr),'change');

//=>reduce和遞迴

/** 若果當前項為不是陣列嗎,就把當前項和前一項利用concat鏈結起來,

* 如果當前項為陣列的,就檢測當前項中的每一項是否為陣列,如果不為陣列就與前一項組合在一起

* 以此類推*/

var flatten = arr => arr.reduce(

(acc,val) => acc.concat(array.isarray(val)? flatten(val):val),);

console.log(flatten(arr),'flatten');

js多維陣列變一位陣列

1 將多維陣列轉化成乙個一位陣列,例如 1,2,3 4,5,6,7 轉化成 1,2,3,4,5,6,7 答案在下面,主要就是利用遞迴 function test array else return newarray 2 求陣列的最大維數,即一共巢狀了多少層,例如 1,2,3,4,5,6 7,8 一共...

整數和一位陣列的轉化

平時,總會碰見解析 操作暫存器 flash eeprom中的值,一些反反覆覆的轉化。總結了兩個小函式,很簡單,乙個移位操作而已。1 整數值按高位在前,轉換為n位元組陣列 def int arry integer,n my arry for i in range n,0,1 my arry integ...

一位陣列去除重複

一些同學在面試的時候會碰到一些小問題,這些問題雖小,卻能很好的顯示出來你以往工作情況和對待程式設計的狀態。下面舉乙個例子,關於 陣列去重 如果有同學面試的時候再碰到就可以順手而來了。如題 寫乙個方法去除陣列string a new string 中的重複元素。答 這裡所寫的方法用的 泛型 所以要先引...