前言
EasyBe
主题开发中遇到一个问题,查看了下MDN文档找到了比较合适的方法,这里只做了简单的示例,详细的一些描述和原理建议访问MDN进行查看;
every
: every
ArrayEvery
: ArrayEvery
some
: some
ArraySome
: ArraySome
内容
every
every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。 若收到一个空数组,此方法在任何情况下都会返回 true。
示例
代码语言:javascript复制// 判断是否所有值都不为空
let data = [
{
"name": "author",
"value": "123"
},
{
"name": "mail",
"value": ""
},
{
"name": "url",
"value": "123"
},
{
"name": "text",
"value": "12"
},
{
"name": "_",
"value": "1b411d70cba30e008e45a150e2df995a"
}
]
data.every(item => item.value !== '')
some
代码语言:javascript复制some() 方法测试数组中是不是至少有 1 个元素通过了被提供的函数测试。它返回的是一个 Boolean 类型的值。 如果用一个空数组进行测试,在任何情况下它返回的都是false。
const array = [1, 2, 3, 4, 5];
// 检查是否是偶数
const even = (element) => element % 2 === 0;
console.log(array.some(even));
// Expected output: true