Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

特定の要素の位置を変更せずに配列を反転するJavaScript


リテラルの配列を受け取るJavaScript関数を作成する必要があります。関数は、以下の例のように、配列に存在する「#」のインデックスを変更せずに配列を反転する必要があります-

配列[18、-4、'#'、0,8、'#'、5]は-

を返す必要があります
[5, 8, "#", 0, -4, "#", 18]

ここでは、同じインデックスを維持しながら「#」を除いて、数字を逆にする必要があります。

const arr = [18, -4, '#', 0, 8, '#', 5];
const arr1 = [18, -4, 0, '#', 8, '#', 5];
const specialReverse = (arr = []) => {
   let removed = arr.reduce((acc, val, ind) => {
      return val === '#' ? acc.concat(ind) : acc;
   }, []);
   let reversed = arr.filter(val => val !== '#').reverse();
   removed.forEach(el => reversed.splice(el, 0, '#'));
   return reversed;
};
console.log(specialReverse(arr));
console.log(specialReverse(arr1));

出力

そして、コンソールの出力は-

になります
[
5, 8, '#', 0,
-4, '#', 18
]
[
5, 8, 0, '#',
-4, '#', 18
]

  1. JavaScriptを使用して同じ配列内の配列の要素を複製するにはどうすればよいですか?

    以下は、同じ配列内の配列の要素を複製するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" > <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>   &nbs

  2. JavaScriptで元の配列を変更せずにオブジェクトキーを変更するにはどうすればよいですか?

    以下は、JavaScriptで元の配列を変更せずにオブジェクトキーを変更するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style