Larik javascript menemukan objek pengembalian

Pencarian dalam array objek dapat dilakukan dalam Javascript menggunakan loop, Array. find() atau Larik. metode findIndex()

Metode 1 — Menggunakan Loop

Anda dapat melakukan iterasi melalui array menggunakan loop for .

var __POSTS = [ 
	{ id: 1, title: 'Apple', description: 'Description of post 1' }, 
	{ id: 2, title: 'Orange', description: 'Description of post 2' }, 
	{ id: 3, title: 'Guava', description: 'Description of post 3' }, 
	{ id: 4, title: 'Banana', description: 'Description of post 4' }
];

// Search for post with title == "Guava"
var __FOUND = -1;
for(var i=0; i<__POSTS.length; i++) {
	if(__POSTS[i].title == 'Guava') {
		// __FOUND is set to the index of the element
		__FOUND = i;
		break;
	}
}

// On success __FOUND will contain the index of the element
// On failure it will contain -1  
console.log(__FOUND); // 2

Metode 2 — Menggunakan Array. Temukan()

Larik . metode find() mengambil fungsi panggilan balik sebagai parameter dan mengeksekusi fungsi itu satu kali untuk setiap elemen yang ada dalam larik, hingga menemukan fungsi di mana fungsi mengembalikan nilai sebenarnya.

Jika elemen ditemukan, ia mengembalikan nilai elemen, jika tidak undefined dikembalikan.

var __POSTS = [ 
	{ id: 1, title: 'Apple', description: 'Description of post 1' }, 
	{ id: 2, title: 'Orange', description: 'Description of post 2' }, 
	{ id: 3, title: 'Guava', description: 'Description of post 3' }, 
	{ id: 4, title: 'Banana', description: 'Description of post 4' }
];

var __FOUND = __POSTS.find(function(post, index) {
	if(post.title == 'Guava')
		return true;
});

// On success __FOUND will contain the complete element (an object)
// On failure it will contain undefined  
console.log(__FOUND); // { id: 3, title: 'Guava', description: 'Description of post 3' }
_

Nilai pengembalian mungkin terdengar sedikit membingungkan. Teori mengatakan bahwa ia mengembalikan elemen sedangkan dalam kode nilai sebenarnya dikembalikan pada kesuksesan
Alasannya adalah nilai sebenarnya digunakan secara internal. Nilai sebenarnya menunjukkan bahwa kecocokan telah ditemukan dan tidak perlu melangkah lebih jauh ke elemen berikutnya dalam larik. Saat mendapatkan nilai hasil yang benar dari fungsi panggilan balik, find() mengembalikan nilai elemen tersebut dalam larik (objek dalam kasus ini).

Namun akan lebih baik jika nilai pengembalian hanya berupa indeks dari elemen yang cocok daripada seluruh elemen. Untuk Array. findIndex() digunakan.

Metode 3 — Menggunakan Array. findIndex()

Larik. findIndex() mirip dengan Array. find() tetapi mengembalikan indeks elemen yang cocok.

Jika elemen tidak ada maka -1 dikembalikan.

var __POSTS = [ 
	{ id: 1, title: 'Apple', description: 'Description of post 1' }, 
	{ id: 2, title: 'Orange', description: 'Description of post 2' }, 
	{ id: 3, title: 'Guava', description: 'Description of post 3' }, 
	{ id: 4, title: 'Banana', description: 'Description of post 4' }
];

var __FOUND = __POSTS.findIndex(function(post, index) {
	if(post.title == 'Guava')
		return true;
});

// On success __FOUND will contain the index of the element
// On failure it will contain -1
console.log(__FOUND); // 2

Contoh 1

Temukan nilai elemen pertama dengan nilai lebih dari 18

umur const = [3, 10, 18, 20];

fungsi checkAge(usia) {
usia kembali> 18;
}

fungsi myFunction() {
dokumen. getElementById("demo"). innerHTML = usia. temukan(periksaUsia);
}

Cobalah sendiri "


Definisi dan Penggunaan

Metode find()_ mengembalikan nilai elemen pertama yang lulus ujian

Metode find()_ mengeksekusi fungsi untuk setiap elemen array

Metode find() mengembalikan undefined jika tidak ada elemen yang ditemukan

Metode find()_ tidak menjalankan fungsi untuk elemen kosong

Metode find()_ tidak mengubah array asli


Sintaksis

Himpunan. temukan(fungsi(Nilaisaat ini, indeks, arr),Nilaiini)

Parameter

fungsi() Diperlukan
Fungsi untuk dijalankan untuk setiap elemen array. CurrentValueRequired
Nilai elemen saat ini. indexOptional
Indeks elemen saat ini. arrOptional
Array dari elemen saat ini. thisValueOptional. Bawaan undefined
Nilai yang diteruskan ke fungsi sebagai nilai this nya

Nilai Pengembalian

TypeDescriptionA value Nilai elemen pertama yang lulus uji
Jika tidak, ia mengembalikan undefined

Contoh 2

Temukan nilai elemen pertama yang memiliki nilai di atas angka tertentu

Cobalah

Cobalah sendiri "



Dukungan Peramban

find() adalah fitur ECMAScript6 (ES6).

ES6 (JavaScript 2015) didukung di semua browser modern

ChromeEdgeFirefoxSafariOperaYaYaYaYaYa

find() tidak didukung di Internet Explorer 11 (atau lebih lama)

Bagaimana cara menemukan objek dalam array JavaScript?

Demo JavaScript. Himpunan. Temukan() . Jika Anda perlu menemukan indeks suatu nilai, gunakan indexOf(). (Ini mirip dengan findIndex() , tetapi memeriksa kesetaraan setiap elemen dengan nilainya alih-alih menggunakan fungsi pengujian. )If you need the index of the found element in the array, use findIndex() . If you need to find the index of a value, use indexOf() . (It's similar to findIndex() , but checks each element for equality with the value instead of using a testing function.)

Bagaimana Anda menemukan objek yang ada dalam array?

Menggunakan Metode include() . Jika array berisi objek/elemen dapat ditentukan dengan menggunakan metode include(). Metode ini mengembalikan nilai true jika array berisi objek/elemen lain return false. Contoh. html.

Bagaimana cara mendapatkan objek pertama dari array di JavaScript?

Dalam JavaScript, Anda cukup melakukannya. const pertama = arr[0];

Bagaimana cara mengambil elemen dari array?

Mengambil jumlah elemen larik dalam larik sederhana paling mudah dilakukan dengan menggunakan fungsi CARDINALITY dan mengambil ukuran maksimum yang diizinkan dari .