javascript - 如何检测数组是否包含任何特定长度的值
问题描述
我有一个数组如下:
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;
}
解决方案
您可以使用该功能some
let array = ['Bob','F', 'Nichols'];
console.log(array.some(({length}) => length === 1));
let anyInitials = a => a.some(({length}) => length === 1) ? "yes" : "no";
推荐阅读
- freeswitch - 如何将变量从 FreeSWITCH 拨号方案传递到 Verto 客户端?
- python-3.x - Python - 无法使用 Menu.quit 从 Tkinter 退出
- sql - “复制功能”未按预期工作
- vb.net - 检查互联网连接
- javascript - 如何将我的 API 网站 json 值转换为新变量?
- javascript - 使用 lodash 或 javascript 从对象数组中删除基本键对象
- c# - C# 将十六进制字符串数组转换为字节数组
- android - 如何检测应用程序何时在android中进入前台
- information-retrieval - 存储一组点(嵌入)以便快速计算最近点的查询的最有效方法是什么
- c# - 拒绝访问创建的交易所