首页 > 解决方案 > 如何检测数组是否包含任何特定长度的值

问题描述

我有一个数组如下:

var array = ['Bob','F', 'Nichols'];

我想检测这个数组是否包含任何单个字符长的值。换句话说,我想知道这个人的名字中是否有任何首字母。

var array = ['Bob','F', 'Nichols']; //true
var array = ['B','Freddy', 'Nichols']; //true
var array = ['Bob','Freddy', 'N']; //true
var array = ['B','F', 'N']; //true
var array = ['B','F', 'N']; //true
var array = ['Bob','Freddy', 'Nichols']; //false

if (anyInitials(array)) {
    console.log("there are initials");
} else {
    console.log("there are no initials");
}

function anyInitials(a) {
    var arrayLength = a.length;
    var initial = 'no';
        for (var i = 0; i < arrayLength; i++) {
            if (a[i].length == 1){
                initial = 'yes';
            }
        }
    return initial;
}

标签: javascriptarrays

解决方案


您可以使用该功能some

let array = ['Bob','F', 'Nichols'];
console.log(array.some(({length}) => length === 1));

let anyInitials = a => a.some(({length}) => length === 1) ? "yes" : "no";

推荐阅读