Hướng dẫn find key in nested object javascript lodash - tìm khóa trong đối tượng lồng nhau javascript lodash

Tại sao điều này luôn trả về sai?

var dependsOn = {
  "Cadastro": {
    "RHID": "RHID"
  },
  "Agregados": {
    "CD_DOC": "CD_DOC"
  },
  "Documentos": {
    "RHID": "CD_DOC"
  }
}
var field = 'RHID'

_.mapKeys(dependsOn, function(value, key) {
  if (_.some(dependsOn[key], function(o) {
      return _.has(o, field);
    })) {
    console.log(key);
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>

Hướng dẫn find key in nested object javascript lodash - tìm khóa trong đối tượng lồng nhau javascript lodash

hỏi ngày 26 tháng 2 năm 2016 lúc 14:58Feb 26, 2016 at 14:58

Hướng dẫn find key in nested object javascript lodash - tìm khóa trong đối tượng lồng nhau javascript lodash

2

_.findKey(dependsOn, field); // 

Đã trả lời ngày 26 tháng 2 năm 2016 lúc 16:07Feb 26, 2016 at 16:07

Hướng dẫn find key in nested object javascript lodash - tìm khóa trong đối tượng lồng nhau javascript lodash

1

Để có được đối tượng (khóa, giá trị)

let dataAsObj = _.find(dependsOn, field); //  it returns the key of the first element
// { RHID: 'RHID' }
if (dataAsObj !== undefined) {
    console.log(dataAsObj[field]); // RHID
}

Đã trả lời ngày 23 tháng 9 năm 2021 lúc 15:09Sep 23, 2021 at 15:09

Hướng dẫn find key in nested object javascript lodash - tìm khóa trong đối tượng lồng nhau javascript lodash

Ngày 22 tháng 6 năm 2022

Nếu bạn cần tìm kiếm một đối tượng lồng nhau, bạn có thể sử dụng chức năng .find() của Lodash. Nó có ba đối số:

  • collection: có thể là một mảng hoặc đối tượng.
  • predicate: Hàm gọi lại mà Lodash gọi trên mọi yếu tố trong mảng.
  • <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
    0: Chỉ mục để tìm kiếm từ. Mặc định là 0.

Lodash sẽ trả về phần tử đầu tiên mà predicate trả về giá trị sự thật hoặc

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
2 nếu không có yếu tố như vậy. Bạn có thể viết một predicate kiểm tra xem một phần tử có thuộc tính lồng nhau nhất định hay không. Mã sau đây tìm thấy các đối tượng bởi thuộc tính
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
4.

const _ = require('lodash');

const obj = [
  {
    name: {
        first: 'Test',
        last: 'Testerson'
    },
    age: 2,
    location: 'Florida'
  },
  {
    name: {
        first: 'Obi-wan',
        last: 'Kenobi'
    },
    age: 45,
    location: 'Tatooine'
  },
  {
    name: {
        first: 'Masteringjs',
        last: '.io'
    },
    age: 5,
    location: 'Florida'
  }
];

let result = _.find(obj, el => el.name.first === 'Test');

result; // { name: { first: 'Test', last: 'Testerson', age: 2 }, location: 'Florida' }

result = _.find(obj, el => el.name.first === 'something else');

result; // undefined

Để tránh các trường hợp trong đó

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
5 là
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
6 hoặc
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
2, bạn có thể sử dụng chuỗi tùy chọn
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
8 hoặc hàm
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
9 của Lodash.

let result = _.find(obj, el => el?.name?.first === 'Test');

// Equivalent:
result = _.find(obj, el => _.get(el, 'name.first') === 'Test');

Thêm hướng dẫn Lodash

  • Viết hoa chữ cái đầu tiên của một chuỗi bằng cách sử dụng lodash
  • Xóa null khỏi một mảng với lodash
  • Sử dụng Lodash cắt ngắn
  • Cách loại bỏ một null khỏi một đối tượng với lodash
  • Hàm khác biệt () trong lodash
  • Lọc trùng lặp với hàm uniq () của lodash
  • So sánh các đối tượng với Lodash

Tìm thuộc tính trong đối tượng lồng nhau với các ví dụ mã

Trong phiên này, chúng tôi sẽ cố gắng giải quyết thuộc tính tìm trong câu đố đối tượng lồng nhau bằng cách sử dụng ngôn ngữ máy tính. Mã được hiển thị dưới đây minh họa điểm này.

const data = {
  "user": {
    "name": "Zahid Hasan",
    "email": "[email protected]"
  },
}

const findPropFromObj = (object, key) => {
  if (object.hasOwnProperty(key)) {
    return object[key];
  }

  for (const k of Object.keys(object)) {
    if (typeof object[k] === "object") {
      const o = findPropFromObj(object[k], key);
      if (o !== null && typeof o !== 'undefined')
        return o;
    }
  }

  return null;
}

console.log(findPropFromObj(data, 'email'))

Chúng tôi đã trình bày rất nhiều ví dụ minh họa để cho thấy cách tìm thấy tài sản trong vấn đề đối tượng lồng nhau có thể được giải quyết và chúng tôi cũng đã giải thích cách làm như vậy.

Làm thế nào để tôi tìm thấy giá trị của một đối tượng lồng nhau?

Nếu bạn cần tìm kiếm một đối tượng lồng nhau, bạn có thể sử dụng lodash. find () function.it có ba đối số:

  • Thu thập: có thể là một mảng hoặc đối tượng.
  • Vị ngữ: Hàm gọi lại mà Lodash gọi trên mọi yếu tố trong mảng.
  • From Index: Chỉ mục để tìm kiếm từ. Mặc định là 0.

Làm cách nào để lấy chìa khóa từ một đối tượng lồng nhau?

Bạn có thể truy cập đối tượng lồng nhau bằng các chỉ mục 0, 1, 2, v.v. Vì vậy, dữ liệu [0]. Alt [0] sẽ truy cập vào đối tượng lồng vào đầu tiên. Bây giờ bạn có thể gọi hàm các khóa () đã đề cập ở trên để lấy danh sách các khóa của nó.01-Jun-2022

Làm cách nào để truy cập các mảng lồng nhau?

Để truy cập một phần tử của mảng đa chiều, trước tiên bạn sử dụng dấu ngoặc vuông để truy cập một phần tử của mảng bên ngoài trả về một mảng bên trong; và sau đó sử dụng một khung vuông khác để truy cập phần tử của mảng bên trong.

Làm thế nào để bạn đặt một đối tượng trong JavaScript?

Approach:

  • Chúng tôi tạo một hàm gọi là đối tượng Flatten lấy đầu vào của một đối tượng và trả về một đối tượng.
  • Vòng lặp qua đối tượng và kiểm tra loại thuộc tính hiện tại: nếu nó thuộc loại đối tượng và nó không phải là một mảng, hãy gọi lại chức năng. Nếu không, lưu trữ giá trị trong kết quả.
  • Trả về đối tượng.

Làm thế nào tôi có thể truy cập và xử lý các mảng đối tượng lồng nhau?

Bạn có thể truy cập một mảng các đối tượng lồng nhau bằng cách sử dụng ký hiệu dấu chấm hoặc ký hiệu khung. JavaScript chỉ có một loại dữ liệu có thể chứa nhiều giá trị: đối tượng. Một mảng là một dạng đặc biệt của một đối tượng. Cả hai mảng và đối tượng hiển thị khóa-> Cấu trúc giá trị.11-FEB-2022

Làm cách nào để kiểm tra nếu một đối tượng được lồng?

Để kiểm tra xem một đối tượng có thuộc tính lồng nhau hay không, hãy sử dụng toán tử chuỗi tùy chọn -?. . Các ?. Toán tử cho phép bạn đọc giá trị của thuộc tính lồng nhau mà không cần ném lỗi nếu thuộc tính không tồn tại trên đối tượng, ví dụ: obj ?. A? .06-OCT-2021

Làm thế nào để bạn sử dụng các đối tượng lồng nhau trong JavaScript?

Tạo các đối tượng lồng nhau trong JavaScript động trong ES6, các đối tượng có thể được tạo bằng các thuộc tính được tính toán. Để sử dụng phím Dynamic Dynamic, bạn phải sử dụng ký hiệu khung: lặp qua các yếu tố của cơ sở. Sử dụng các phím để tìm phần tử tương ứng trong lồng nhau và sử dụng nó làm khóa trong đối tượng mới được tạo.29-APR-2022

Làm cách nào để tạo một đối tượng lồng nhau trong JavaScript?

const obj = {code: Hồi AA, sub: {code: Hồi bb, sub: {code: Hồi }}}}}; Lưu ý rằng đối với mỗi cặp duy nhất trong chuỗi, chúng tôi có một đối tượng phụ mới và thuộc tính mã ở bất kỳ cấp độ nào đại diện cho một cặp cụ thể. Chúng ta có thể giải quyết vấn đề này bằng cách sử dụng phương pháp đệ quy.20-OCT-2020

Làm thế nào để bạn tìm thấy một mảng trong một mảng?

Sử dụng bộ lọc nếu bạn muốn tìm tất cả các mục trong một mảng đáp ứng một điều kiện cụ thể. Sử dụng Tìm nếu bạn muốn kiểm tra xem ít nhất một mục đáp ứng một điều kiện cụ thể. Sử dụng bao gồm nếu bạn muốn kiểm tra xem một mảng có chứa một giá trị cụ thể không. Sử dụng indexof nếu bạn muốn tìm chỉ mục của một mục cụ thể trong một mảng.24-Jun-2020

Làm thế nào để bạn truy cập các giá trị trong một mảng trong c?

Để truy cập một phần tử riêng lẻ của một mảng, hãy sử dụng tên của tên mảng theo sau là chỉ mục của phần tử trong dấu ngoặc vuông. Chỉ số mảng bắt đầu ở 0 và kết thúc ở kích thước-1: mảng_name [index]; Truy cập phần tử chỉ mục của Array_Name bắt đầu từ 0.