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

文字列の配列を介してオブジェクトの配列から検索し、JavaScriptでオブジェクトの配列を取得します


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

const arr1 = [ '1956888670', '2109171907', '298845084' ];
const arr2 = [
   { KEY: '1262875245', VALUE: 'Vijay Kumar Verma' },
   { KEY: '1956888670', VALUE: 'Sivakesava Nallam' },
   { KEY: '2109171907', VALUE: 'udm analyst' },
   { KEY: '298845084', VALUE: 'Mukesh Nagora' },
   { KEY: '2007285563', VALUE: 'Yang Liu' },
   { KEY: '1976156380', VALUE: 'Imtiaz Zafar' },
];

このような2つの配列を受け取るJavaScript関数を作成する必要があります。次に、関数は、「KEY」プロパティが最初の配列に文字列としてリストされているオブジェクトのみを含む、フィルター処理されたバージョンの2番目の配列を返す必要があります。

このためのコードは-

になります
const arr1 = [ '1956888670', '2109171907', '298845084' ];
const arr2 = [
   { KEY: '1262875245', VALUE: 'Vijay Kumar Verma' },
   { KEY: '1956888670', VALUE: 'Sivakesava Nallam' },
   { KEY: '2109171907', VALUE: 'udm analyst' },
   { KEY: '298845084', VALUE: 'Mukesh Nagora' },
   { KEY: '2007285563', VALUE: 'Yang Liu' },
   { KEY: '1976156380', VALUE: 'Imtiaz Zafar' },
];
const filterByKey = (arr1 = [], arr2 = []) => {
   let res = [];
   res = arr2.filter(el => {
      const { KEY } = el;
      const index = arr1.indexOf(KEY);
      return index !== -1;
   });
   return res;
};
console.log(filterByKey(arr1, arr2));

出力

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

になります
[
   { KEY: '1956888670', VALUE: 'Sivakesava Nallam' },
   { KEY: '2109171907', VALUE: 'udm analyst' },
   { KEY: '298845084', VALUE: 'Mukesh Nagora' }
]

  1. 文字列キーを使用してネストされたJavaScriptオブジェクトにアクセスする

    lodashのgetメソッドを使用して、任意のレベルのプロパティを安全に取得できます。第1レベルのプロパティを取得するのは非常に簡単です。ネストされたプロパティへのアクセスには注意が必要です。lodashなどのテスト済みのライブラリを使用する必要があります。 次の方法で、深くネストされたオブジェクトにアクセスできます- 例 let _ = require("lodash"); let obj = {    a: {       b: {          foo: &quo

  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> &nbs