JavaScript - 配列から空の値、undefined、nullを削除する

配列に空の文字列、undefined、null、空の要素を含めることができます。配列からこれらの要素を削除する方法を紹介します。

1. 配列から undefined を削除

配列に undefined を要素として含めることができ、以下のように filter() を使って削除できます。要素を巡回しながら、undefinedが一致する要素のみをフィルタリングして削除します。

let arr = [4, 2, undefined, 5, null, 8, ''];

let newArr = arr.filter((element) => element !== undefined);

console.log(newArr);

Output:

[ 4, 2, 5, null, 8, '' ]

2.配列からnullを削除する

配列から undefined だけでなく null も削除するには、以下のように filter() から null も比較してフィルタリングすればよい。

let arr = [4, 2, undefined, 5, null, 8, ''];

let newArr = arr.filter((element) => {
  return element !== undefined && element !== null;
});

console.log(newArr);

Output:

[ 4, 2, 5, 8, '' ]

以下のように element != null を使って undefined と null を一緒に削除することもできます。

let arr = [4, 2, undefined, 5, null, 8, ''];

let newArr = arr.filter((element) => {
  return element != null;
});

console.log(newArr);

Output:

[ 4, 2, 5, 8, '' ]

3. 配列から空の文字列を削除する

undefined と null だけでなく、空の文字列も削除するには、 filter() に条件を追加して削除できます。

let arr = [4, 2, undefined, 5, null, 8, ''];

let newArr = arr.filter((element) => {
  return element !== undefined && element !== null && element !== '';
});

console.log(newArr);

Output:

[ 4, 2, 5, 8 ]

4. 配列から空の要素を削除する

位置のみを占める空の要素を配列に含めることもできます。

以下の例のように filter(() => true) で空の要素を削除できます。

let arr = [4, , 5, , undefined, '', , ,];
console.log(arr);

let newArr = arr.filter(() => true);
console.log(newArr);

Output:

[ 4, <1 empty item>, 5, <1 empty item>, undefined, '', <2 empty items>]
[ 4, 5, undefined, '' ]
codechachaCopyright ©2019 codechacha