Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Kiểm tra mọi thuộc tính của đối tượng có cùng giá trị không (đệ quy) JavaScript

Viết hàm isSame() nhận đối tượng lồng nhau, trả về boolean cho biết tất cả các khóa cuối cùng có cùng giá trị hay không.

Ví dụ:

const obj = {  a: 1,  b: 1,  c: { aa: 1 }};// Trả về true vì tất cả khóa cuối cùng đều có giá trị 1

Ví dụ

const obj = {  a: 1,  b: 1,  c: { aa: 3 }};const allSame = (obj, value) => {  const keys = Object.keys(obj);  for (let i = 0; i < keys.length; i++) {    if (typeof obj[keys[i]] === 'object' && !Array.isArray(obj[keys[i]])) {      return allSame(obj[keys[i]], value);    }    if (!value) {      value = obj[keys[i]];      continue;    }    if (obj[keys[i]] !== value) {      return false;    }  }  return true;};console.log(allSame(obj));console.log(allSame({ a: 1, b: 1, c: { aa: 1 } }));console.log(allSame({ a: { x: 1 }, b: 1, c: { aa: 1 } }));console.log(allSame({ a: 1, b: 1, c: { aa: 2 } }));

Kết quả

Đầu ra trong console sẽ là:

false true true false