JS 判断一个对象中的的所有属性值是否相等

可以了
  • 12

let param={

     a:"45"
     b:"45",
     c:"45",
     d:"45"}

如何判断同一个对象中的属性值是否相等

回复
阅读 1.2k
5 个回答
let param={
  a:"45",
  b:"45",
  c:"45",
  d:"45"
}

// 不知道你是那种的?
let res1 = Object.values(param).every(item => item === '45')
let res2 = [...new Set(Object.values(param))].length === 1
/**
 * @param {object} target
 * @return {boolean}
 */
function isObjectValueIdentical (target) {
  return 2 > new Set(Object.values(target)).size;
}

这个没有任何的取巧办法,只能遍历比较。

确实没有啥好办法比较

const compareObjectValue = (obj) => {
  let data = Object.values(obj);
  return data.slice(1).every(item => item === data[0])
}

compareObjectValue({
  a: 1,
  b: 1,
  c: 2
}) // false

compareObjectValue({
  a: 1,
  b: 1
}) // true
田EDy4J
  • 2
新手上路,请多包涵

运用es6提供的方法一行代码搞定
return new Set(Object.values(obj)).size==1

宣传栏