Hướng dẫn get value object in array javascript - lấy đối tượng giá trị trong mảng javascript

Phương thức Object.values() trả về một mảng của các giá trị thuộc tính có thể phân tích của một đối tượng nhất định, theo cùng một thứ tự như được quy định bởi một vòng lặp for...in. (Sự khác biệt duy nhất là một vòng for...in cũng liệt kê các thuộc tính trong chuỗi nguyên mẫu.)Object.values() method returns an array of a given object's own enumerable property values, in the same order as that provided by a for...in loop. (The only difference is that a for...in loop enumerates properties in the prototype chain as well.)

Thử nó

Cú pháp

Thông số

// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
0

Đối tượng có giá trị tài sản riêng được trả lại.

Giá trị trả về

Một mảng chứa các giá trị thuộc tính có thể suy giảm của đối tượng.

Sự mô tả

Object.values() Trả về một mảng có các phần tử là các giá trị thuộc tính có thể tìm thấy trên đối tượng. Thứ tự của các thuộc tính giống như được đưa ra bằng cách lặp qua các giá trị thuộc tính của đối tượng theo cách thủ công.

Ví dụ

Sử dụng Object.values

const obj = { foo: 'bar', baz: 42 };
console.log(Object.values(obj)); // ['bar', 42]

// Array-like object
const arrayLikeObj1 = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.values(arrayLikeObj1 )); // ['a', 'b', 'c']

// Array-like object with random key ordering
// When using numeric keys, the values are returned in the keys' numerical order
const arrayLikeObj2 = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.values(arrayLikeObj2 )); // ['b', 'c', 'a']

// getFoo is property which isn't enumerable
const myObj = Object.create({}, { getFoo: { value() { return this.foo; } } });
myObj.foo = 'bar';
console.log(Object.values(myObj)); // ['bar']

// non-object argument will be coerced to an object
console.log(Object.values('foo')); // ['f', 'o', 'o']

Thông số kỹ thuật

Sự chỉ rõ
Đặc tả ngôn ngữ Ecmascript # sec-object.values
# sec-object.values

Tính tương thích của trình duyệt web

Bảng BCD chỉ tải trong trình duyệt

Xem thêm

Phương thức

// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
2 trả về phần tử đầu tiên trong mảng được cung cấp thỏa mãn chức năng thử nghiệm được cung cấp. Nếu không có giá trị thỏa mãn chức năng kiểm tra,
// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
3 sẽ được trả về.

Thử nó

  • Nếu bạn cần chỉ số của phần tử tìm thấy trong mảng, hãy sử dụng
    // Arrow function
    find((element) => { /* … */ })
    find((element, index) => { /* … */ })
    find((element, index, array) => { /* … */ })
    
    // Callback function
    find(callbackFn)
    find(callbackFn, thisArg)
    
    // Inline callback function
    find(function (element) { /* … */ })
    find(function (element, index) { /* … */ })
    find(function (element, index, array) { /* … */ })
    find(function (element, index, array) { /* … */ }, thisArg)
    
    4.index of the found element in the array, use
    // Arrow function
    find((element) => { /* … */ })
    find((element, index) => { /* … */ })
    find((element, index, array) => { /* … */ })
    
    // Callback function
    find(callbackFn)
    find(callbackFn, thisArg)
    
    // Inline callback function
    find(function (element) { /* … */ })
    find(function (element, index) { /* … */ })
    find(function (element, index, array) { /* … */ })
    find(function (element, index, array) { /* … */ }, thisArg)
    
    4.
  • Nếu bạn cần tìm chỉ mục của một giá trị, hãy sử dụng
    // Arrow function
    find((element) => { /* … */ })
    find((element, index) => { /* … */ })
    find((element, index, array) => { /* … */ })
    
    // Callback function
    find(callbackFn)
    find(callbackFn, thisArg)
    
    // Inline callback function
    find(function (element) { /* … */ })
    find(function (element, index) { /* … */ })
    find(function (element, index, array) { /* … */ })
    find(function (element, index, array) { /* … */ }, thisArg)
    
    5. (Nó tương tự như
    // Arrow function
    find((element) => { /* … */ })
    find((element, index) => { /* … */ })
    find((element, index, array) => { /* … */ })
    
    // Callback function
    find(callbackFn)
    find(callbackFn, thisArg)
    
    // Inline callback function
    find(function (element) { /* … */ })
    find(function (element, index) { /* … */ })
    find(function (element, index, array) { /* … */ })
    find(function (element, index, array) { /* … */ }, thisArg)
    
    4, nhưng kiểm tra từng phần tử cho sự bình đẳng với giá trị thay vì sử dụng chức năng kiểm tra.)index of a value, use
    // Arrow function
    find((element) => { /* … */ })
    find((element, index) => { /* … */ })
    find((element, index, array) => { /* … */ })
    
    // Callback function
    find(callbackFn)
    find(callbackFn, thisArg)
    
    // Inline callback function
    find(function (element) { /* … */ })
    find(function (element, index) { /* … */ })
    find(function (element, index, array) { /* … */ })
    find(function (element, index, array) { /* … */ }, thisArg)
    
    5. (It's similar to
    // Arrow function
    find((element) => { /* … */ })
    find((element, index) => { /* … */ })
    find((element, index, array) => { /* … */ })
    
    // Callback function
    find(callbackFn)
    find(callbackFn, thisArg)
    
    // Inline callback function
    find(function (element) { /* … */ })
    find(function (element, index) { /* … */ })
    find(function (element, index, array) { /* … */ })
    find(function (element, index, array) { /* … */ }, thisArg)
    
    4, but checks each element for equality with the value instead of using a testing function.)
  • Nếu bạn cần tìm nếu một giá trị tồn tại trong một mảng, hãy sử dụng
    // Arrow function
    find((element) => { /* … */ })
    find((element, index) => { /* … */ })
    find((element, index, array) => { /* … */ })
    
    // Callback function
    find(callbackFn)
    find(callbackFn, thisArg)
    
    // Inline callback function
    find(function (element) { /* … */ })
    find(function (element, index) { /* … */ })
    find(function (element, index, array) { /* … */ })
    find(function (element, index, array) { /* … */ }, thisArg)
    
    7. Một lần nữa, nó kiểm tra từng phần tử cho sự bình đẳng với giá trị thay vì sử dụng hàm thử nghiệm.exists in an array, use
    // Arrow function
    find((element) => { /* … */ })
    find((element, index) => { /* … */ })
    find((element, index, array) => { /* … */ })
    
    // Callback function
    find(callbackFn)
    find(callbackFn, thisArg)
    
    // Inline callback function
    find(function (element) { /* … */ })
    find(function (element, index) { /* … */ })
    find(function (element, index, array) { /* … */ })
    find(function (element, index, array) { /* … */ }, thisArg)
    
    7. Again, it checks each element for equality with the value instead of using a testing function.
  • Nếu bạn cần tìm nếu bất kỳ phần tử nào thỏa mãn chức năng kiểm tra được cung cấp, hãy sử dụng
    // Arrow function
    find((element) => { /* … */ })
    find((element, index) => { /* … */ })
    find((element, index, array) => { /* … */ })
    
    // Callback function
    find(callbackFn)
    find(callbackFn, thisArg)
    
    // Inline callback function
    find(function (element) { /* … */ })
    find(function (element, index) { /* … */ })
    find(function (element, index, array) { /* … */ })
    find(function (element, index, array) { /* … */ }, thisArg)
    
    8.

Cú pháp

// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)

Thông số

// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
9

Một hàm để thực thi cho mỗi phần tử trong mảng. Nó sẽ trả về một giá trị sự thật để chỉ ra một yếu tố phù hợp đã được tìm thấy.

Hàm được gọi với các đối số sau:

const inventory = [
  { name: "apples", quantity: 2 },
  { name: "bananas", quantity: 0 },
  { name: "cherries", quantity: 5 },
];

function isCherries(fruit) {
  return fruit.name === "cherries";
}

console.log(inventory.find(isCherries));
// { name: 'cherries', quantity: 5 }
0

Phần tử hiện tại được xử lý trong mảng.

const inventory = [
  { name: "apples", quantity: 2 },
  { name: "bananas", quantity: 0 },
  { name: "cherries", quantity: 5 },
];

function isCherries(fruit) {
  return fruit.name === "cherries";
}

console.log(inventory.find(isCherries));
// { name: 'cherries', quantity: 5 }
1

Chỉ số của phần tử hiện tại được xử lý trong mảng.

const inventory = [
  { name: "apples", quantity: 2 },
  { name: "bananas", quantity: 0 },
  { name: "cherries", quantity: 5 },
];

function isCherries(fruit) {
  return fruit.name === "cherries";
}

console.log(inventory.find(isCherries));
// { name: 'cherries', quantity: 5 }
2

Mảng

// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
2 đã được kêu gọi.

const inventory = [
  { name: "apples", quantity: 2 },
  { name: "bananas", quantity: 0 },
  { name: "cherries", quantity: 5 },
];

function isCherries(fruit) {
  return fruit.name === "cherries";
}

console.log(inventory.find(isCherries));
// { name: 'cherries', quantity: 5 }
4 Tùy chọnOptional

Giá trị để sử dụng là

const inventory = [
  { name: "apples", quantity: 2 },
  { name: "bananas", quantity: 0 },
  { name: "cherries", quantity: 5 },
];

function isCherries(fruit) {
  return fruit.name === "cherries";
}

console.log(inventory.find(isCherries));
// { name: 'cherries', quantity: 5 }
5 khi thực hiện
// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
9. Xem phương pháp lặp.

Giá trị trả về

Phần tử đầu tiên trong mảng thỏa mãn chức năng thử nghiệm được cung cấp. Nếu không,

// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
3 được trả lại.

Sự mô tả

Phương pháp

// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
2 là một phương pháp lặp. Nó gọi hàm
// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
9 được cung cấp một lần cho mỗi phần tử theo một mảng theo thứ tự chỉ số tăng dần, cho đến khi
// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
9 trả về giá trị sự thật.
// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
2 sau đó trả về phần tử đó và dừng lặp qua mảng. Nếu
// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
9 không bao giờ trả về giá trị sự thật,
// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
2 trả về
// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
3.

// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
9 được gọi cho mọi chỉ mục của mảng, không chỉ các chỉ số có giá trị được gán. Các khe trống trong các mảng thưa thớt hoạt động giống như
// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
3.

// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
2 không làm biến đổi mảng mà nó được gọi, nhưng chức năng được cung cấp như
// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
9 có thể. Tuy nhiên, lưu ý rằng độ dài của mảng được lưu trước khi gọi đầu tiên của
// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
9. Vì vậy:

  • // Arrow function
    find((element) => { /* … */ })
    find((element, index) => { /* … */ })
    find((element, index, array) => { /* … */ })
    
    // Callback function
    find(callbackFn)
    find(callbackFn, thisArg)
    
    // Inline callback function
    find(function (element) { /* … */ })
    find(function (element, index) { /* … */ })
    find(function (element, index, array) { /* … */ })
    find(function (element, index, array) { /* … */ }, thisArg)
    
    9 sẽ không truy cập bất kỳ yếu tố nào được thêm vào ngoài độ dài ban đầu của mảng khi cuộc gọi đến
    // Arrow function
    find((element) => { /* … */ })
    find((element, index) => { /* … */ })
    find((element, index, array) => { /* … */ })
    
    // Callback function
    find(callbackFn)
    find(callbackFn, thisArg)
    
    // Inline callback function
    find(function (element) { /* … */ })
    find(function (element, index) { /* … */ })
    find(function (element, index, array) { /* … */ })
    find(function (element, index, array) { /* … */ }, thisArg)
    
    2 bắt đầu.
  • Các thay đổi đối với các chỉ mục đã được truy cập không khiến
    // Arrow function
    find((element) => { /* … */ })
    find((element, index) => { /* … */ })
    find((element, index, array) => { /* … */ })
    
    // Callback function
    find(callbackFn)
    find(callbackFn, thisArg)
    
    // Inline callback function
    find(function (element) { /* … */ })
    find(function (element, index) { /* … */ })
    find(function (element, index, array) { /* … */ })
    find(function (element, index, array) { /* … */ }, thisArg)
    
    9 được gọi lại trên chúng.
  • Nếu một phần tử hiện có, chưa được liên kết của mảng được thay đổi bởi
    // Arrow function
    find((element) => { /* … */ })
    find((element, index) => { /* … */ })
    find((element, index, array) => { /* … */ })
    
    // Callback function
    find(callbackFn)
    find(callbackFn, thisArg)
    
    // Inline callback function
    find(function (element) { /* … */ })
    find(function (element, index) { /* … */ })
    find(function (element, index, array) { /* … */ })
    find(function (element, index, array) { /* … */ }, thisArg)
    
    9, giá trị của nó được chuyển cho
    // Arrow function
    find((element) => { /* … */ })
    find((element, index) => { /* … */ })
    find((element, index, array) => { /* … */ })
    
    // Callback function
    find(callbackFn)
    find(callbackFn, thisArg)
    
    // Inline callback function
    find(function (element) { /* … */ })
    find(function (element, index) { /* … */ })
    find(function (element, index, array) { /* … */ })
    find(function (element, index, array) { /* … */ }, thisArg)
    
    9 sẽ là giá trị tại thời điểm phần tử đó được truy cập. Các yếu tố bị xóa được truy cập như thể chúng là
    // Arrow function
    find((element) => { /* … */ })
    find((element, index) => { /* … */ })
    find((element, index, array) => { /* … */ })
    
    // Callback function
    find(callbackFn)
    find(callbackFn, thisArg)
    
    // Inline callback function
    find(function (element) { /* … */ })
    find(function (element, index) { /* … */ })
    find(function (element, index, array) { /* … */ })
    find(function (element, index, array) { /* … */ }, thisArg)
    
    3.

CẢNH BÁO: Sửa đổi đồng thời của loại được mô tả ở trên thường xuyên dẫn đến mã khó hiểu và thường được tránh (ngoại trừ trong các trường hợp đặc biệt). Concurrent modifications of the kind described above frequently lead to hard-to-understand code and are generally to be avoided (except in special cases).

Phương pháp

// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
2 là chung chung. Nó chỉ mong đợi giá trị
const inventory = [
  { name: "apples", quantity: 2 },
  { name: "bananas", quantity: 0 },
  { name: "cherries", quantity: 5 },
];

function isCherries(fruit) {
  return fruit.name === "cherries";
}

console.log(inventory.find(isCherries));
// { name: 'cherries', quantity: 5 }
5 có thuộc tính
function isPrime(element, index, array) {
  let start = 2;
  while (start <= Math.sqrt(element)) {
    if (element % start++ < 1) {
      return false;
    }
  }
  return element > 1;
}

console.log([4, 6, 8, 12].find(isPrime)); // undefined, not found
console.log([4, 5, 8, 12].find(isPrime)); // 5
8 và các thuộc tính được khóa.

Ví dụ

Tìm một đối tượng trong một mảng bởi một trong các thuộc tính của nó

const inventory = [
  { name: "apples", quantity: 2 },
  { name: "bananas", quantity: 0 },
  { name: "cherries", quantity: 5 },
];

function isCherries(fruit) {
  return fruit.name === "cherries";
}

console.log(inventory.find(isCherries));
// { name: 'cherries', quantity: 5 }

Sử dụng chức năng mũi tên và phá hủy

const inventory = [
  { name: "apples", quantity: 2 },
  { name: "bananas", quantity: 0 },
  { name: "cherries", quantity: 5 },
];

const result = inventory.find(({ name }) => name === "cherries");

console.log(result); // { name: 'cherries', quantity: 5 }

Tìm một số nguyên tố trong một mảng

Ví dụ sau tìm thấy một phần tử trong mảng là số nguyên tố (hoặc trả về

// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
3 nếu không có số nguyên tố):

function isPrime(element, index, array) {
  let start = 2;
  while (start <= Math.sqrt(element)) {
    if (element % start++ < 1) {
      return false;
    }
  }
  return element > 1;
}

console.log([4, 6, 8, 12].find(isPrime)); // undefined, not found
console.log([4, 5, 8, 12].find(isPrime)); // 5

Sử dụng Find () trên các mảng thưa thớt

Các khe trống trong các mảng thưa thớt được truy cập và được đối xử giống như

// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
3.

// Declare array with no elements at indexes 2, 3, and 4
const array = [0, 1, , , , 5, 6];

// Shows all indexes, not just those with assigned values
array.find((value, index) => {
  console.log("Visited index ", index, " with value ", value);
});
// Visited index 0 with value 0
// Visited index 1 with value 1
// Visited index 2 with value undefined
// Visited index 3 with value undefined
// Visited index 4 with value undefined
// Visited index 5 with value 5
// Visited index 6 with value 6

// Shows all indexes, including deleted
array.find((value, index) => {
  // Delete element 5 on first iteration
  if (index === 0) {
    console.log("Deleting array[5] with value ", array[5]);
    delete array[5];
  }
  // Element 5 is still visited even though deleted
  console.log("Visited index ", index, " with value ", value);
});
// Deleting array[5] with value 5
// Visited index 0 with value 0
// Visited index 1 with value 1
// Visited index 2 with value undefined
// Visited index 3 with value undefined
// Visited index 4 with value undefined
// Visited index 5 with value undefined
// Visited index 6 with value 6

Gọi Find () trên các đối tượng không phải là

Phương thức

// Arrow function
find((element) => { /* … */ })
find((element, index) => { /* … */ })
find((element, index, array) => { /* … */ })

// Callback function
find(callbackFn)
find(callbackFn, thisArg)

// Inline callback function
find(function (element) { /* … */ })
find(function (element, index) { /* … */ })
find(function (element, index, array) { /* … */ })
find(function (element, index, array) { /* … */ }, thisArg)
2 đọc thuộc tính
function isPrime(element, index, array) {
  let start = 2;
  while (start <= Math.sqrt(element)) {
    if (element % start++ < 1) {
      return false;
    }
  }
  return element > 1;
}

console.log([4, 6, 8, 12].find(isPrime)); // undefined, not found
console.log([4, 5, 8, 12].find(isPrime)); // 5
8 của
const inventory = [
  { name: "apples", quantity: 2 },
  { name: "bananas", quantity: 0 },
  { name: "cherries", quantity: 5 },
];

function isCherries(fruit) {
  return fruit.name === "cherries";
}

console.log(inventory.find(isCherries));
// { name: 'cherries', quantity: 5 }
5 và sau đó truy cập vào từng chỉ mục số nguyên.

const arrayLike = {
  length: 3,
  0: 2,
  1: 7.3,
  2: 4,
};
console.log(
  Array.prototype.find.call(arrayLike, (x) => !Number.isInteger(x)),
); // 7.3

Thông số kỹ thuật

Sự chỉ rõ
Thông số kỹ thuật ngôn ngữ Ecmascript # sec-array.prototype.find
# sec-array.prototype.find

Tính tương thích của trình duyệt web

Bảng BCD chỉ tải trong trình duyệt

Xem thêm

Giá trị đối tượng JavaScript có thể là mảng không?

Sự mô tả.Object.values () Trả về một mảng có các phần tử là các giá trị thuộc tính có thể tìm thấy trên đối tượng.Thứ tự của các thuộc tính giống như được đưa ra bằng cách lặp qua các giá trị thuộc tính của đối tượng theo cách thủ công.Object.values() returns an array whose elements are the enumerable property values found on the object. The ordering of the properties is the same as that given by looping over the property values of the object manually.

Pluck trong JavaScript là gì?

Chức năng PLuck (Thuộc tính) Đây thường là một chuỗi có tên thuộc tính đích, nhưng cũng có thể là một chỉ mục mảng nếu làm việc với các mảng.Theo DataTables 1.12 ký hiệu chấm JavaScript cũng có thể được sử dụng để đọc dữ liệu JSON lồng nhau.typically be a string with the target property name, but can also be an array index if working with arrays. As of DataTables 1.12 Javascript dot notation can also be used to read nested JSON data.