怎样判断数组里的值是否相等。

怎么判断一个数组中的所有值都等于一个值。

var array = ['success','success','success','success'];
var a1 = 'success';

请问这个该怎么判断。能多说几个例子吗?谢谢

阅读 9k
5 个回答
console.log(array.every(item=>item===a1))
var array = ['success','success','success','success'];
var a1 = 'success';

var isEquality = array.every((val) => {
    return val === a1;
});

console.log(isEquality);        // true

这样?

第一种:

arr.every((item) => {
    return item === a1
})

第二种:

let tag = true
arr.forEach((item) => {
    if (item !== a1) {
      tag = false
    }
})

第三种:

let tag = true
for (let i = 0; i < arr.length; i++) {
    if (arr[i] !== a1) {
      tag = false
      break
    }
}

第四种:

let tag = true
for (let item of arr) {
    if (item !== a1) {
        tag = false
        break
    }
}

第五种:

arr.some((item) => {
    if (item !== a1) {
        return false
    }
    return true
})

用set把数组去重 然后直接判断

  const newarr = [...new Set(array)]
  if (newarr.length === 1 && newarr[0] === a1) {
        //yes
  }

上面都回答的很好了,我来个另类点的

return array.join("").replace(new RegExp(a1,'g'),"") === ""
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题