首页 > 解决方案 > 遍历对象数组,如果所有键值相等,则返回 true else false Javascript

问题描述

我有下面的对象数组,我基本上想比较语言键中的值,如果都相同,则返回 true,否则返回 false。任何想法,将不胜感激。

var list1 = [
  { firstName: 'Daniel', lastName: 'J.', country: 'Aruba', continent: 'Americas', age: 42, language: 'JavaScript' },
  { firstName: 'Kseniya', lastName: 'T.', country: 'Belarus', continent: 'Europe', age: 22, language: 'JavaScript' },
  { firstName: 'Hanna', lastName: 'L.', country: 'Hungary', continent: 'Europe', age: 65, language: 'JavaScript' },
];  

function isSameLanguage(list) {
  let counter =0;

  for (let i=0; i<=list.length; i++){
    counter = counter = counter +1
    if (list.language[i] == list.language[i]){
      //console.log("Match")
    }
  }
}

标签: javascriptarraysobject

解决方案


你正在寻找的是every方法。在您的情况下,它看起来像这样:

function isSameLanguage(list) {
  if (!list.length) return false; // guard to prevent the next line from throwing an error

  const firstLanguage = list[0].language;

  return list.every(item => item.language === firstLanguage);
}

推荐阅读