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

オブジェクトのJavaScript配列を別の配列でフィルタリングする


このようなオブジェクトの配列があるとします-

const arr = [
   {area: 'NY', name: 'Bla', ads: true},
   {area: 'DF', name: 'SFS', ads: false},
   {area: 'TT', name: 'SDSD', ads: true},
   {area: 'SD', name: 'Engine', ads: false},
   {area: 'NSK', name: 'Toyota', ads: false},
];

最初の引数として1つの配列を取り、2番目の引数として文字列リテラルの配列を受け取るJavaScript関数を作成する必要があります。

次に、関数はオブジェクトの入力配列をフィルタリングして、「area」プロパティがリテラルの配列に含まれているオブジェクトのみを含める必要があります(2番目の引数)。

このためのコードは-

になります
const arr = [
   {area: 'NY', name: 'Bla', ads: true},
   {area: 'DF', name: 'SFS', ads: false},
   {area: 'TT', name: 'SDSD', ads: true},
   {area: 'SD', name: 'Engine', ads: false},
   {area: 'NSK', name: 'Toyota', ads: false},
];
const keys = ['NY', 'SD'];
const filterByArea = (arr = [], keys = []) => {
   const res = [];
   for(let i = 0; i < arr.length; i++){
      const { area } = arr[i];
      if(keys.includes(area)){
         res.push(arr[i]);
      };
   };
   return res;
};
console.log(filterByArea(arr, keys));

出力

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

になります
[
   { area: 'NY', name: 'Bla', ads: true },
   { area: 'SD', name: 'Engine', ads: false }
]

  1. JavaScript-配列オブジェクトの長さ

    JavaScriptのlengthプロパティは、オブジェクトのサイズを返します。以下は、文字列および配列オブジェクトの長さのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document

  2. JavaScriptでツリー化するオブジェクトのフラット配列

    このようなオブジェクトの配列があるとします- const arr = [    { id: '1', name: 'name 1', parentId: null },    { id: '2', name: 'name 2', parentId: null },    { id: '2_1', name: 'name 2_1', parentId: '2' },    { id: '2_2