Computer >> Máy Tính >  >> Lập trình >> Javascript

Nhận giá trị cho khóa từ đối tượng JSON lồng nhau trong JavaScript

Giả sử, chúng ta có một đối tượng JSON lồng nhau như thế này -

const obj = {
   "prop": [
      {
         "key": "FOO",
         "value": "Foo is wonderfull, foo is great"
      },
      {
         "key": "BAR",
         "value": "Bar is bad, really bad"
      }
   ]
};

Chúng tôi bắt buộc phải viết một hàm JavaScript lấy một đối tượng như vậy làm đối số đầu tiên và một chuỗi khóa làm đối số thứ hai.

Khi đó, hàm của chúng ta sẽ trả về giá trị cho thuộc tính "value" mà thuộc tính khóa cụ thể đó thuộc về.

Ví dụ

Mã cho điều này sẽ là -

const obj = {
   "prop": [
      {
         "key": "FOO",
         "value": "Foo is wonderfull, foo is great"
      },
      {
         "key": "BAR",
         "value": "Bar is bad, really bad"
      }
   ]
};
const findByKey = (obj, key) => {
   const arr = obj['prop'];
   if(arr.length){
      const result = arr.filter(el => {
         return el['key'] === key;
      });
      if(result && result.length){
         return result[0].value;
      }
      else{
         return '';
      }
   }
}
console.log(findByKey(obj, 'BAR'));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

Bar is bad, really bad