用 JavaScript 將所有 0 分離到右邊,將所有 1 分離到左邊
有一個包含 0、1 和其他一些數字的數字陣列。我們需要編寫一個 JavaScript 函式,該函式接收此陣列並將所有 1 都放到開頭,將所有 0 都放到結尾
讓我們編寫此函式的程式碼 −
示例
const arr = [3, 2, 1, 8, 9, 0, 1, 9, 0, 2, 1, 0, 2, 0, 1, 0, 1, 1, 4, 0,
3];
const segregate = arr => {
const copy = arr.slice();
for(let i = 0; i < copy.length; i++){
if(copy[i] === 0){
copy.push(copy.splice(i, 1)[0]);
}else if(copy[i] === 1){
copy.unshift(copy.splice(i, 1)[0]);
};
continue;
};
return copy;
};
console.log(segregate(arr));輸出
控制檯中的輸出內容為 −
[ 1, 1, 1, 3, 2, 8, 9, 1, 9, 2, 2, 1, 1, 4, 3, 0, 0, 0, 0, 0, 0 ]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP