我想在'd'字母之后打印字母,它是小字母或大写字母对于小字母它可以很好地处理大写字母
var data = [{ name: "egg" }, { name: "apple" }, { name: "cook" }, { name: "FISH" }];
for (var i = 0; i < data.length; i++) {
var alpha = data[i]["name"][0];
if (alpha >= 'd' || alpha >= 'D') {
console.log(data[i]["name"]);
}
}
我期望结果是 egg,FISH 但实际输出是 egg,apple,cook,FISH
最佳答案
您还可以使用 String.prototype.localeCompare
,它默认以不区分大小写的方式比较字符串:
var data= [{name:"egg"},{name:"apple"},{name:"cook"},{name:"FISH"}];
for(var i=0;i<data.length;i++){
var alpha = data[i]["name"][0];
if( alpha.localeCompare('d') > 0){
console.log(data[i]["name"]);
}
}
map
、filter
和 forEach
链:
var data= [{name:"egg"},{name:"apple"},{name:"cook"},{name:"FISH"}];
data.map(({name}) => name)
.filter(str => str[0].localeCompare('d') > 0)
.forEach(str => console.log(str));
关于javascript - 数组与字母的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58041794/