javascript - 检查数组是否包含不同的值

标签 javascript arrays string function

如何制作原生 JavaScript 函数来检测数组中的不同值?

例如:

const arr = [];
console.log(checkDiff(arr["A", "A", "A", "A")); // false
console.log(checkDiff(arr["A", "A", "A", "B")); // true
console.log(checkDiff(arr["B", "A", "C", "A")); // true
...

谢谢。

最佳答案

您可以使用new Set()存储独特的值。使用 size 获取唯一元素的数量。如果大小为 1,则返回 false

console.log(checkDiff(["A", "A", "A", "A"])); // false
console.log(checkDiff(["A", "A", "A", "B"])); // true
console.log(checkDiff(["B", "A", "C", "A"])); // true
console.log(checkDiff([])); // true

function checkDiff(a) {
  return new Set(a).size !== 1;
}

如果你想在数组为空时返回false,你可以:

console.log(checkDiff(["A", "A", "A", "A"])); // false
console.log(checkDiff(["A", "A", "A", "B"])); // true
console.log(checkDiff(["B", "A", "C", "A"])); // true
console.log(checkDiff([])); // false

function checkDiff(a) {
  return a.length !== 0 && new Set(a).size !== 1;
}

关于javascript - 检查数组是否包含不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55450618/

相关文章:

javascript - 为什么这段代码不起作用? (以 HTML 格式)

javascript - 调用数组中的下一项

java - PrintWriter 方法中的奇怪错误

java - 有多少内存分配给 Object[] 中的元素

python - 为什么'new_file + = line + string'比'new_file = new_file + line + string'快得多?

javascript - 在Google应用程序脚本GUI中显示Gmail消息

javascript - 使用 Vue Router 设置页面标题

javascript - 使水平滚动父级占用其子级的宽度

java - 像 Linux 终端一样分割字符串

ruby - 查找最接近字符 250 的字符串,并拆分