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 中的重複元素。答 這裡所寫的方法用的 泛型 所以要先引...