Làm cách nào để tìm giá trị lớn nhất trong một mảng đối tượng trong JavaScript?

môn Toán. Hàm max[] thường lấy tất cả các phần tử trong một mảng và xem xét kỹ lưỡng từng giá trị để lấy giá trị lớn nhất. Đó là phương pháp được thảo luận trong ví dụ dưới đây

Bản thử trực tiếp

Thí dụ




đầu ra

55.

2] sắp xếp[]

Sử dụng hàm sắp xếp và so sánh, chúng ta có thể sắp xếp các phần tử trong mảng theo thứ tự giảm dần hoặc tăng dần, sau này sử dụng thuộc tính độ dài, chúng ta có thể tìm thấy giá trị cần thiết

Sử dụng phương thức có sẵn Math apply[], map[], reduce[] để lấy giá trị lớn nhất trong Mảng đối tượng trong JavaScript. Đối tượng Array cho phép bạn lưu trữ nhiều giá trị trong một biến duy nhất

Các cách để có được giá trị tối đa trong Mảng đối tượng. -

  • Sử dụng phương thức apply[] và map[]
  • mảng. phương pháp giảm []
  • Sử dụng map[], Math và toán tử trải rộng

JavaScript nhận giá trị tối đa trong một mảng đối tượng Mã ví dụ

Hãy xem mã ví dụ HTML với các cách khác nhau. -

Sử dụng phương thức apply[] và map[]

Chương trình lấy giá trị lớn nhất của thuộc tính y bằng cách sử dụng phương thức apply[] và map[]

 
 
	
	 
		
		 
			
			var array = [ 
				{ "x": "3/10/2020", "y": 0.02352007 }, 
				{ "x": "8/12/2021", "y": 0.0254234 }, 
				{ "x": "1/16/2010", "y": 0.02433546 }, 
				{ "x": "8/19/2015", "y": 0.0313423457 }]; 
				
			console.log[JSON.stringify[array]]; 

			var res = Math.max.apply[Math, array.map[function[o] { 
					return o.y; }]];
			
			console.log["Maximum value of y = " + res]; 
				 
		 
	 
	

Sử dụng giảm[]

Mã ví dụ về cách lấy giá trị lớn nhất của thuộc tính y bằng cách sử dụng phương thức reduce[]. Nó trả về toàn bộ đối tượng

 
			
			var array = [ 
				{ "x": "3/10/2020", "y": 0.02352007 }, 
				{ "x": "8/12/2021", "y": 0.0254234 }, 
				{ "x": "1/16/2010", "y": 0.02433546 }, 
				{ "x": "8/19/2015", "y": 0.0313423457 }]; 
				
			console.log[JSON.stringify[array]]; 

			var res = JSON.stringify[array.reduce[function[prev, current] { 
                    return [prev.y > current.y] ? prev : current  }]];
			
			console.log["Maximum value of y = " + res]; 
				 
 

Sử dụng map[], Math và toán tử trải rộng

Đã tạo một hàm để lấy tối đa và tối thiểu từ Array

 

		var data = [ 
		{ "x": "3/10/2020", "y": 0.02352007 }, 
		{ "x": "8/12/2021", "y": 0.0254234 }, 
		{ "x": "1/16/2010", "y": 0.02433546 }, 
		{ "x": "8/19/2015", "y": 0.0313423457 }]; 

		console.log[JSON.stringify[data]]; 

		function getYs[]{
			return data.map[d => d.y];
		}
		function getMinY[]{
			return Math.min[...getYs[]];
		}
		function getMaxY[]{
			return Math.max[...getYs[]];
		}

		var res = getMaxY[];
		
		console.log["Maximum value of y = " + res]; 

đầu ra. Kết quả sẽ giống nhau cho tất cả các mã vì các giá trị Mảng đã cho giống nhau

Hãy bình luận nếu bạn có bất kỳ nghi ngờ và đề xuất nào về chủ đề Mảng JS này

Ghi chú. Tất cả mã Ví dụ về JS đều được thử nghiệm trên trình duyệt Firefox và trình duyệt Chrome

hệ điều hành. cửa sổ 10

Mã số. Phiên bản HTML5

Rohit

Bằng cấp về Khoa học Máy tính và Kỹ sư. Nhà phát triển ứng dụng và có kinh nghiệm về nhiều ngôn ngữ lập trình. Đam mê công nghệ & thích học hỏi kỹ thuật

Hãy xem xét mảng đối tượng JavaScript sau. Mỗi đối tượng đại diện cho một người chơi trong nền tảng trò chơi bao gồm một mã định danh duy nhất [

55.
4],
55.
5 của họ và số lượng
55.
6 đã đạt được

const players = [{
  id: 1,
  name: "Leanne Graham",
  wins: 13,
}, {
  id: 2,
  name: "Ervin Howell",
  wins: 8,
}, {
  id: 3,
  name: "Clementine Bauch",
  wins: 19
}];

Làm thế nào để bạn tìm thấy người chơi có nhiều chiến thắng nhất?

Một đặc điểm đáng chú ý của mảng này là nó chưa được sắp xếp nên chúng ta không thể đơn giản lấy phần tử đầu tiên [hoặc cuối cùng, tùy thuộc vào hướng sắp xếp]. Thay vào đó, chúng ta cần một thuật toán so sánh các phần tử với nhau và trả về phần tử có giá trị

55.
6 tối đa

Mảng. giảm là bạn của chúng tôi ở đây. Nếu bạn chưa từng thấy chữ ký hàm trước đây, nó sẽ đọc hơi khó hiểu

Hãy áp dụng

55.
8 cho trường hợp sử dụng của chúng ta để tìm phần tử có giá trị lớn nhất trong mảng của chúng ta

const playerWithMostWins = players.reduce[
  [prev, current] => {
    return prev.wins > current.wins ? prev : current
  }
];

Và nếu bạn cần thay đổi logic thành người chơi có ít chiến thắng nhất [vì bức tường xấu hổ?], thì đó là chức năng tương tự nhưng chỉ với một chức năng so sánh khác

Tại sao không mảng. tìm hoặc Toán. tối đa?

const playerWithMostWins = players.reduce[
  [prev, current] => {
    return prev.wins > current.wins ? prev : current
  }
];
0 là một hàm rất hữu ích nhưng chỉ khi bạn có thể xác định xem bạn có đúng mục hay không một cách độc lập với các mục khác trong mảng, e. g. tìm người chơi có tên
const playerWithMostWins = players.reduce[
  [prev, current] => {
    return prev.wins > current.wins ? prev : current
  }
];
1

const leanne = players.find[p => p.name === "Leanne Graham"];

const playerWithMostWins = players.reduce[
  [prev, current] => {
    return prev.wins > current.wins ? prev : current
  }
];
2 có thể được sử dụng nếu bạn chỉ quan tâm đến giá trị thay vì mục chứa giá trị, e. g. tìm số lần thắng tối đa

55.
1

Nhưng hãy nhớ rằng đây là một hoạt động của

const playerWithMostWins = players.reduce[
  [prev, current] => {
    return prev.wins > current.wins ? prev : current
  }
];
3, vì vậy bạn vẫn nên sử dụng
55.
8

Nguyên tắc chung của tôi khi tôi cần đạt tới

55.
8 là nếu tôi đang sử dụng các từ so sánh trong câu hỏi mà tôi đang cố hỏi. Các từ so sánh phổ biến là nhất, ít nhất, tối đa, thấp nhất, mới nhất, cũ nhất, v.v.

  • Người dùng nào có nhiều người theo dõi nhất?
  • Quảng cáo nào có số lượng nhấp chuột ít nhất?
  • Quỹ nào có năng suất tối đa?
  • Người dùng nào có số lượng bài đăng thấp nhất?
  • Tập tin nào là cũ nhất?
  • Trò chơi nào là mới nhất?

Một trường hợp sử dụng phổ biến đối với tôi khi sử dụng phương pháp

55.
8 này là khi tôi cần điều chỉnh React UI một cách có điều kiện dựa trên các giá trị tương đối của một phần tử

Quay lại ví dụ ban đầu của chúng tôi, khi tôi biết người chơi nào giành được nhiều chiến thắng nhất, tôi có thể đặt biểu tượng cảm xúc chiếc cúp vô cùng quý giá này 🏆 bên cạnh tên của họ

  • Leanne Graham [13]
  • Ervin Howell [8]
  • Clementine Bauch [19] 🏆

Và đây là mã thành phần đầy đủ

55.
3

Vì vậy, lần tới khi bạn cần một cách nhanh chóng và dễ dàng để tìm phần tử mảng có nhiều nhất hoặc ít nhất một thứ gì đó, tôi hy vọng bạn sẽ cân nhắc

55.
8

Làm cách nào để nhận giá trị tối đa từ đối tượng trong JavaScript?

Giá trị tối đa của một thuộc tính trong một mảng đối tượng có thể được tìm kiếm theo hai cách, một bằng cách duyệt qua mảng và cách còn lại là . tối đa. phương pháp áp dụng [].

Làm cách nào để tìm chỉ mục của giá trị tối đa trong mảng JavaScript?

Để lấy chỉ số của giá trị lớn nhất trong một mảng. .
Lấy giá trị lớn nhất trong mảng, sử dụng hàm Math. phương thức tối đa []
Gọi phương thức indexOf[] trên mảng, truyền cho nó giá trị lớn nhất
Phương thức indexOf trả về chỉ số của lần xuất hiện đầu tiên của giá trị trong mảng hoặc -1 nếu không tìm thấy giá trị

Làm cách nào để tìm số lớn nhất trong một mảng JavaScript?

Có hai cách để bạn có thể tìm số lớn nhất từ ​​một mảng JavaScript. .
Sử dụng phương thức mảng forEach[]
Sử dụng phương thức mảng reduce[]

Chủ Đề