Hướng dẫn javascript find key in multidimensional object - javascript tìm khóa trong đối tượng đa chiều

Tôi có và đối tượng đa chiều trông như thế này:

obj = {
    'someString': {
        name: 'John',
        page: 'some url',
        number: 4
    },
    'someString2': {
        name: 'Bill',
        page: 'some url',
        number: 7
    }
}

Làm thế nào để tôi tìm thấy phím cấp đầu tiên [trong trường hợp này là "somestring2"] trong đó "số" bằng 7?

Con số luôn luôn là duy nhất và là điều duy nhất tôi biết trước.

Đã hỏi ngày 23 tháng 11 năm 2017 lúc 10:28Nov 23, 2017 at 10:28

0

Bạn đi đây. Sử dụng hàm

const numberToLookFor = 7;

const data = {
    someString: {
        name: 'John',
        page: 'some url',
        number: 4,
    },
    someString2: {
        name: 'Bill',
        page: 'some url',
        number: 7,
    },
};

const myKey = Object.keys[data].find[x => data[x].number === numberToLookFor];


console.log[myKey];
5 để tìm khóa thích hợp.

const numberToLookFor = 7;

const data = {
    someString: {
        name: 'John',
        page: 'some url',
        number: 4,
    },
    someString2: {
        name: 'Bill',
        page: 'some url',
        number: 7,
    },
};

const myKey = Object.keys[data].find[x => data[x].number === numberToLookFor];


console.log[myKey];

Đã trả lời ngày 23 tháng 11 năm 2017 lúc 10:31Nov 23, 2017 at 10:31

OrelsanplsorelsanplsOrelsanpls

21.5K5 Huy hiệu vàng41 Huy hiệu bạc65 Huy hiệu Đồng5 gold badges41 silver badges65 bronze badges

Giới thiệu

Một đối tượng trong JavaScript là một bộ sưu tập không có thứ tự các cặp giá trị khóa [

const numberToLookFor = 7;

const data = {
    someString: {
        name: 'John',
        page: 'some url',
        number: 4,
    },
    someString2: {
        name: 'Bill',
        page: 'some url',
        number: 7,
    },
};

const myKey = Object.keys[data].find[x => data[x].number === numberToLookFor];


console.log[myKey];
6]. Mỗi khóa được gọi là thuộc tính và là một chuỗi đại diện cho một tên thuộc tính. Nếu một chuỗi không được đưa ra làm phím, biểu diễn chuỗi chuỗi sẽ được sử dụng. Giá trị của một thuộc tính có thể thuộc bất kỳ loại dữ liệu nào phù hợp với thuộc tính về mặt khái niệm - một chuỗi, một số, một mảng hoặc thậm chí là một hàm.key is known as a property, and is a string representing a property name. If a non-string is given as the key, it's stringified representation will be used. A property's value can be of any data type that fits the property conceptually - a string, a number, an array, or even a function.

Mặt khác, một mảng là một tập hợp các giá trị được sắp xếp. Mỗi giá trị được gọi là một phần tử, được xác định bởi một chỉ số số. Một mảng có thể bao gồm các giá trị của hầu hết mọi loại. Ví dụ, nó có thể lưu trữ các vật phẩm như số nguyên, chuỗi, booleans, chức năng, v.v ... Mảng JavaScript cũng không bị giới hạn ở một loại duy nhất, có nghĩa là một mảng đã cho có thể chứa nhiều loại khác nhau trong đó.

Khi làm việc trong JavaScript, bạn có thể tại một thời điểm cụ thể cần xác định xem một khóa có tồn tại trong một đối tượng hoặc mảng nhất định hay không.

Trong bài viết này, chúng ta sẽ thấy các phương pháp khác nhau mà chúng ta có thể sử dụng để kiểm tra xem một khóa cụ thể có tồn tại trong một đối tượng/mảng JavaScript hay không.

Sử dụng toán tử
const numberToLookFor = 7;

const data = {
    someString: {
        name: 'John',
        page: 'some url',
        number: 4,
    },
    someString2: {
        name: 'Bill',
        page: 'some url',
        number: 7,
    },
};

const myKey = Object.keys[data].find[x => data[x].number === numberToLookFor];


console.log[myKey];
7

Toán tử

const numberToLookFor = 7;

const data = {
    someString: {
        name: 'John',
        page: 'some url',
        number: 4,
    },
    someString2: {
        name: 'Bill',
        page: 'some url',
        number: 7,
    },
};

const myKey = Object.keys[data].find[x => data[x].number === numberToLookFor];


console.log[myKey];
7 trong JavaScript được sử dụng để xác định xem một thuộc tính nhất định có tồn tại trong một đối tượng hoặc các thuộc tính được di truyền của nó [còn được gọi là chuỗi nguyên mẫu của nó]. Nếu thuộc tính được cung cấp tồn tại, toán tử
const numberToLookFor = 7;

const data = {
    someString: {
        name: 'John',
        page: 'some url',
        number: 4,
    },
    someString2: {
        name: 'Bill',
        page: 'some url',
        number: 7,
    },
};

const myKey = Object.keys[data].find[x => data[x].number === numberToLookFor];


console.log[myKey];
7 sẽ trả về đúng.

Kiểm tra một đối tượng
let user = {
    name: 'John Doe',
    age: 17,
    profession: 'Farmer'
};
  
// Check if key exists
  
'name' in user; // Returns true
'profession' in user; // Returns true
'Daniel' in user; // Returns false becuase no key like that exists
'Farmer' in user; // Returns false because 'Farmer' is not a key, but a value
Kiểm tra một mảng

Vì chúng tôi đã chứng minh rằng toán tử JavaScript

const numberToLookFor = 7;

const data = {
    someString: {
        name: 'John',
        page: 'some url',
        number: 4,
    },
    someString2: {
        name: 'Bill',
        page: 'some url',
        number: 7,
    },
};

const myKey = Object.keys[data].find[x => data[x].number === numberToLookFor];


console.log[myKey];
7 có thể được sử dụng với các đối tượng, bạn có thể hỏi liệu nó cũng có thể được sử dụng với các mảng. Trong JavaScript, mọi thứ là một thể hiện của loại đối tượng [ngoại trừ các nguyên thủy], vì vậy các mảng cũng hỗ trợ toán tử
const numberToLookFor = 7;

const data = {
    someString: {
        name: 'John',
        page: 'some url',
        number: 4,
    },
    someString2: {
        name: 'Bill',
        page: 'some url',
        number: 7,
    },
};

const myKey = Object.keys[data].find[x => data[x].number === numberToLookFor];


console.log[myKey];
7.

Hãy xác nhận nếu đó là một thể hiện của loại

let user = {
    name: 'John Doe',
    age: 17,
    profession: 'Farmer'
};
  
// Check if key exists
  
'name' in user; // Returns true
'profession' in user; // Returns true
'Daniel' in user; // Returns false becuase no key like that exists
'Farmer' in user; // Returns false because 'Farmer' is not a key, but a value
2 bằng toán tử
let user = {
    name: 'John Doe',
    age: 17,
    profession: 'Farmer'
};
  
// Check if key exists
  
'name' in user; // Returns true
'profession' in user; // Returns true
'Daniel' in user; // Returns false becuase no key like that exists
'Farmer' in user; // Returns false because 'Farmer' is not a key, but a value
3:

let numbers = [22, 3, 74, 35];
  
numbers instanceof Object // Returns true

Bây giờ, trở lại sử dụng toán tử

const numberToLookFor = 7;

const data = {
    someString: {
        name: 'John',
        page: 'some url',
        number: 4,
    },
    someString2: {
        name: 'Bill',
        page: 'some url',
        number: 7,
    },
};

const myKey = Object.keys[data].find[x => data[x].number === numberToLookFor];


console.log[myKey];
7:

let numbers = [12, 33, 14, 45, 6];

// Checking if index 1 is present
1 in numbers; // Returns true
// Checking if index 3 is present
3 in numbers; // Returns true

8 in numbers; // Returns false because the 8 index does exist in the array 
6 in numbers; // Returns false because the 6 index does not exist in the array

Điều này cũng sẽ trả về

let user = {
    name: 'John Doe',
    age: 17,
    profession: 'Farmer'
};
  
// Check if key exists
  
'name' in user; // Returns true
'profession' in user; // Returns true
'Daniel' in user; // Returns false becuase no key like that exists
'Farmer' in user; // Returns false because 'Farmer' is not a key, but a value
5 cho các thuộc tính phương thức trên một loại mảng, trong đó mảng số là một thể hiện.

'map' in number; // Returns true because 'map' is a method attribute of the array type

Sử dụng phương pháp
let user = {
    name: 'John Doe',
    age: 17,
    profession: 'Farmer'
};
  
// Check if key exists
  
'name' in user; // Returns true
'profession' in user; // Returns true
'Daniel' in user; // Returns false becuase no key like that exists
'Farmer' in user; // Returns false because 'Farmer' is not a key, but a value
6

Trong JavaScript, hàm

let user = {
    name: 'John Doe',
    age: 17,
    profession: 'Farmer'
};
  
// Check if key exists
  
'name' in user; // Returns true
'profession' in user; // Returns true
'Daniel' in user; // Returns false becuase no key like that exists
'Farmer' in user; // Returns false because 'Farmer' is not a key, but a value
6 được sử dụng để xác định xem đối tượng có thuộc tính được cung cấp làm tài sản riêng hay không. Điều này rất quan trọng để xác định nếu thuộc tính được kế thừa bởi đối tượng thay vì là của riêng nó.

Kiểm tra một đối tượng
let user = {
    name: 'John Doe',
    age: 17,
    profession: 'Farmer'
};
  
// Check if key exists
let hasKey = user.hasOwnProperty['name']; 
  
if [hasKey] {
    console.log['This key exists.'];
} else {
    console.log['This key does not exist.'];
}
Kiểm tra một mảng

Vì chúng tôi đã chứng minh rằng toán tử JavaScript

const numberToLookFor = 7;

const data = {
    someString: {
        name: 'John',
        page: 'some url',
        number: 4,
    },
    someString2: {
        name: 'Bill',
        page: 'some url',
        number: 7,
    },
};

const myKey = Object.keys[data].find[x => data[x].number === numberToLookFor];


console.log[myKey];
7 có thể được sử dụng với các đối tượng, bạn có thể hỏi liệu nó cũng có thể được sử dụng với các mảng. Trong JavaScript, mọi thứ là một thể hiện của loại đối tượng [ngoại trừ các nguyên thủy], vì vậy các mảng cũng hỗ trợ toán tử
const numberToLookFor = 7;

const data = {
    someString: {
        name: 'John',
        page: 'some url',
        number: 4,
    },
    someString2: {
        name: 'Bill',
        page: 'some url',
        number: 7,
    },
};

const myKey = Object.keys[data].find[x => data[x].number === numberToLookFor];


console.log[myKey];
7.

let number = [12, 33, 14, 45];

// Check if key exists
number.hasOwnProperty[1]; // Returns true
number.hasOwnProperty[0]; // Returns true
number.hasOwnProperty[7]; // Returns false because 7 is not an existing index on the array

Hãy xác nhận nếu đó là một thể hiện của loại
let user = {
    name: 'John Doe',
    age: 17,
    profession: 'Farmer'
};
  
// Check if key exists
  
'name' in user; // Returns true
'profession' in user; // Returns true
'Daniel' in user; // Returns false becuase no key like that exists
'Farmer' in user; // Returns false because 'Farmer' is not a key, but a value
2 bằng toán tử
let user = {
    name: 'John Doe',
    age: 17,
    profession: 'Farmer'
};
  
// Check if key exists
  
'name' in user; // Returns true
'profession' in user; // Returns true
'Daniel' in user; // Returns false becuase no key like that exists
'Farmer' in user; // Returns false because 'Farmer' is not a key, but a value
3:

let numbers = [22, 3, 74, 35];
  
numbers instanceof Object // Returns true

Bây giờ, trở lại sử dụng toán tử
const numberToLookFor = 7;

const data = {
    someString: {
        name: 'John',
        page: 'some url',
        number: 4,
    },
    someString2: {
        name: 'Bill',
        page: 'some url',
        number: 7,
    },
};

const myKey = Object.keys[data].find[x => data[x].number === numberToLookFor];


console.log[myKey];
7:

Điều này cũng sẽ trả về

let user = {
    name: 'John Doe',
    age: 17,
    profession: 'Farmer'
};
  
// Check if key exists
  
'name' in user; // Returns true
'profession' in user; // Returns true
'Daniel' in user; // Returns false becuase no key like that exists
'Farmer' in user; // Returns false because 'Farmer' is not a key, but a value
5 cho các thuộc tính phương thức trên một loại mảng, trong đó mảng số là một thể hiện.

Sử dụng phương pháp
let user = {
    name: 'John Doe',
    age: 17,
    profession: 'Farmer'
};
  
// Check if key exists
  
'name' in user; // Returns true
'profession' in user; // Returns true
'Daniel' in user; // Returns false becuase no key like that exists
'Farmer' in user; // Returns false because 'Farmer' is not a key, but a value
6

Trong JavaScript, hàm

let user = {
    name: 'John Doe',
    age: 17,
    profession: 'Farmer'
};
  
// Check if key exists
  
'name' in user; // Returns true
'profession' in user; // Returns true
'Daniel' in user; // Returns false becuase no key like that exists
'Farmer' in user; // Returns false because 'Farmer' is not a key, but a value
6 được sử dụng để xác định xem đối tượng có thuộc tính được cung cấp làm tài sản riêng hay không. Điều này rất quan trọng để xác định nếu thuộc tính được kế thừa bởi đối tượng thay vì là của riêng nó.

Bạn có thể bắt đầu tự hỏi nếu điều này sẽ hoạt động cho các mảng. Như chúng tôi đã thiết lập trước đó, một mảng thực sự là một nguyên mẫu [ví dụ] của loại
let user = {
    name: 'John Doe',
    age: 17,
    profession: 'Farmer'
};
  
// Check if key exists
  
'name' in user; // Returns true
'profession' in user; // Returns true
'Daniel' in user; // Returns false becuase no key like that exists
'Farmer' in user; // Returns false because 'Farmer' is not a key, but a value
2, do đó, nó cũng có sẵn phương pháp này cho nó.

Sử dụng phương pháp

let user = {
    name: 'John Doe',
    age: 17,
    profession: 'Farmer'
};
  
// Check if key exists
  
'name' in user; // Returns true
'profession' in user; // Returns true
'Daniel' in user; // Returns false becuase no key like that exists
'Farmer' in user; // Returns false because 'Farmer' is not a key, but a value
9

const numberToLookFor = 7;

const data = {
    someString: {
        name: 'John',
        page: 'some url',
        number: 4,
    },
    someString2: {
        name: 'Bill',
        page: 'some url',
        number: 7,
    },
};

const myKey = Object.keys[data].find[x => data[x].number === numberToLookFor];


console.log[myKey];
1Phương thức tĩnh
let numbers = [22, 3, 74, 35];
  
numbers instanceof Object // Returns true
0 tạo và trả về một mảng có các thành phần là các chuỗi của tên [khóa] của các thuộc tính của một đối tượng. Điều này có thể được sử dụng để lặp qua các phím của đối tượng, sau đó chúng ta có thể sử dụng để xác minh xem có khớp nào khớp với một khóa nhất định trong đối tượng không.

Sử dụng phương pháp

let numbers = [22, 3, 74, 35];
  
numbers instanceof Object // Returns true
1

let numbers = [22, 3, 74, 35];
  
numbers instanceof Object // Returns true
1 là phương thức JavaScript kiểm tra hàm gọi lại trên tất cả các phần tử của mảng gọi và trả về
let user = {
    name: 'John Doe',
    age: 17,
    profession: 'Farmer'
};
  
// Check if key exists
  
'name' in user; // Returns true
'profession' in user; // Returns true
'Daniel' in user; // Returns false becuase no key like that exists
'Farmer' in user; // Returns false because 'Farmer' is not a key, but a value
5 nếu hàm gọi lại trả về
let user = {
    name: 'John Doe',
    age: 17,
    profession: 'Farmer'
};
  
// Check if key exists
  
'name' in user; // Returns true
'profession' in user; // Returns true
'Daniel' in user; // Returns false becuase no key like that exists
'Farmer' in user; // Returns false because 'Farmer' is not a key, but a value
5 cho bất kỳ trong số chúng.

Sử dụng

let numbers = [22, 3, 74, 35];
  
numbers instanceof Object // Returns true
1 cho các đối tượng ____

Chúng tôi cũng có thể tùy chỉnh điều này thành một hàm có thể tái sử dụng:

const numberToLookFor = 7;

const data = {
    someString: {
        name: 'John',
        page: 'some url',
        number: 4,
    },
    someString2: {
        name: 'Bill',
        page: 'some url',
        number: 7,
    },
};

const myKey = Object.keys[data].find[x => data[x].number === numberToLookFor];


console.log[myKey];
2

const checkKey = [obj, keyName] => {
    let keyExist = Object.keys[obj].some[key => key === keyName];
    console.log[keyExist];
};
  
checkKey[user, 'name']; // Return true
sử dụng
let numbers = [22, 3, 74, 35];
  
numbers instanceof Object // Returns true
1 cho một mảng ____1010

Một lần nữa, giống như với đối tượng, chúng ta cũng có thể sử dụng hàm tái sử dụng tùy chỉnh tương tự để kiểm tra sự tồn tại của giá trị trong một mảng:

Sử dụng phương pháp
let numbers = [22, 3, 74, 35];
  
numbers instanceof Object // Returns true
7

Phương thức

let numbers = [22, 3, 74, 35];
  
numbers instanceof Object // Returns true
7 của JavaScript sẽ trả về chỉ mục của phiên bản đầu tiên của một phần tử trong mảng. Nếu phần tử không tồn tại thì -1 được trả về.

const numberToLookFor = 7;

const data = {
    someString: {
        name: 'John',
        page: 'some url',
        number: 4,
    },
    someString2: {
        name: 'Bill',
        page: 'some url',
        number: 7,
    },
};

const myKey = Object.keys[data].find[x => data[x].number === numberToLookFor];


console.log[myKey];
4

Sử dụng
let numbers = [22, 3, 74, 35];
  
numbers instanceof Object // Returns true
7 cho một đối tượng

Loại

let user = {
    name: 'John Doe',
    age: 17,
    profession: 'Farmer'
};
  
// Check if key exists
  
'name' in user; // Returns true
'profession' in user; // Returns true
'Daniel' in user; // Returns false becuase no key like that exists
'Farmer' in user; // Returns false because 'Farmer' is not a key, but a value
2 trong JavaScript không thực sự hỗ trợ phương thức
let numbers = [12, 33, 14, 45, 6];

// Checking if index 1 is present
1 in numbers; // Returns true
// Checking if index 3 is present
3 in numbers; // Returns true

8 in numbers; // Returns false because the 8 index does exist in the array 
6 in numbers; // Returns false because the 6 index does not exist in the array
1, vì các thuộc tính/khóa của nó vốn không có vị trí được lập chỉ mục trong đối tượng. Thay vào đó, chúng ta có thể lấy các phím của đối tượng dưới dạng mảng và sau đó kiểm tra sự tồn tại của khóa bằng phương pháp
let numbers = [12, 33, 14, 45, 6];

// Checking if index 1 is present
1 in numbers; // Returns true
// Checking if index 3 is present
3 in numbers; // Returns true

8 in numbers; // Returns false because the 8 index does exist in the array 
6 in numbers; // Returns false because the 6 index does not exist in the array
1:

Làm thế nào để bạn kiểm tra xem một khóa có tồn tại trong một mảng các đối tượng JavaScript không?

Sử dụng hàm HasownProperty [] Hàm HasownProperty [] sẽ kiểm tra sự tồn tại của khóa trong đối tượng đã cho và trả về đúng nếu khóa có mặt nếu không nó sẽ trả về sai. Hàm này lấy khóa của đối tượng làm tham số và trả về kết quả boolean tương ứng. The function hasOwnProperty[] will check for the existence of a key in the given object and returns true if the key is present or else it returns false. This function takes the key of the object as the parameter and returns the Boolean result accordingly.

Làm thế nào để bạn kiểm tra xem một cặp giá trị chính có tồn tại trong một javascript đối tượng không?

Sử dụng phương thức Indexof [] phương thức JavaScript's Indexof [] sẽ trả về chỉ mục của phiên bản đầu tiên của một phần tử trong mảng.Nếu phần tử không tồn tại thì -1 được trả về. JavaScript's indexOf[] method will return the index of the first instance of an element in the array. If the element does not exist then, -1 is returned.

Làm thế nào để bạn biết nếu một khóa nằm trong một đối tượng?

Sử dụng toán tử trong để kiểm tra xem một khóa có tồn tại trong một đối tượng không, ví dụ:"Key" trong MyObject.Toán tử trong sẽ trả về true nếu khóa có mặt trong đối tượng, nếu không thì sai được trả về.Đã sao chép!Cú pháp được sử dụng với toán tử trong là: Chuỗi trong đối tượng., e.g. "key" in myObject . The in operator will return true if the key is present in the object, otherwise false is returned. Copied! The syntax used with the in operator is: string in object .

Làm thế nào để bạn kiểm tra xem một khóa có trong một từ điển trong JavaScript không?

Chủ yếu có hai phương pháp để kiểm tra sự tồn tại của một khóa trong đối tượng JavaScript.Cái đầu tiên là sử dụng các nhà điều hành trong nhà điều hành và phương pháp thứ hai là sử dụng phương thức Has HasOwnProperty [].Phương pháp 1: Sử dụng toán tử 'In': Toán tử trong trả về giá trị boolean nếu thuộc tính được chỉ định nằm trong đối tượng.using “in operator” and the second one is using “hasOwnProperty[] method”. Method 1: Using 'in' operator: The in operator returns a boolean value if the specified property is in the object.

Bài Viết Liên Quan

Chủ Đề