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

JavaScriptを使用してオブジェクトの配列から特定のキー値を検索する


次のようなJSONオブジェクトがあるとします-

const obj = {
   "LAPTOP": [{
      "productId": "123"
   }],
   "DESKTOP": [{
      "productId": "456"
   }],
   "MOUSE": [{
      "productId": "789"
   }, {
      "productId": "012"
   }],
   "KEY-BOARD": [{
      "productId": "345"
   }]
};

最初の引数として1つのオブジェクトを取り、2番目の引数としてキーと値のペアを受け取るJavaScript関数を作成する必要があります。

キーと値のペアは、基本的にこのようなオブジェクトに他なりません-

const pair = {"productId": 456};

次に、関数は指定された「productId」を持つキーをオブジェクトで検索し、それを返す必要があります。

このためのコードは-

になります
const obj = {
   "LAPTOP": [{
      "productId": "123"
   }],
   "DESKTOP": [{
      "productId": "456"
   }],
   "MOUSE": [{
      "productId": "789"
   }, {
      "productId": "012"
   }],
   "KEY-BOARD": [{
      "productId": "345"
   }]
};
const searchByPair = (obj = {}, pair = {}) => {
   const toSearch = Object.values(pair)[0];
   let required = undefined;
   Object.keys(obj).forEach((key) => {
      if(obj[key].find((pid) => pid.productId === toSearch)){
         required = key;
      }
   });
   return required;
};
console.log(searchByPair(obj, {
   'productId': '123'
}));

出力

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

になります
LAPTOP

  1. 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> <styl

  2. 2つのオブジェクトを比較しながら配列のネストされた値をグループ化-JavaScript

    次のJSONオブジェクトがあるとします- const input = {    "before": {      "device": [        {          "id": "1234",          "price": "10",