我正在尝试编写代码,允许我从名称不符合最小和最大长度要求的数组中取出国家/地区名称。所以让我们说在我的页面上我输入4表示最小值,6表示最大值。我希望我的页面只显示名称中包含4到6个字母的国家/地区名称。在Java中,我会写这个
String[] newArr = new String[0];
int pos = 0;
for(int i = 0; i > min && i<max; i++) {
newArr[pos++] = oldArr[i]
}
但我不确定我用JavaScript写的是什么
答案 0 :(得分:3)
在filter
阵列上使用countryNames
。循环遍历每个元素并检查长度,minLength
值为4
,maxLength
值为6
。
var minLength = 4; maxLength = 6;
var countryNames = ['abc', 'India', 'China', 'America', 'pqr', 'Bhutan'];
var res = countryNames.filter(function(country){
if(country.length > minLength && country.length < maxLength){
return country;
}
});
console.log(res);
使用forEach
var minLength = 4; maxLength = 6;
var countryNames = ['abc', 'India', 'China', 'America', 'pqr', 'Bhutan'];
var res = [];
countryNames.forEach(function(country){
if(country.length > minLength && country.length < maxLength){
res.push(country);
}
});
console.log(res);
答案 1 :(得分:1)
您可以使用Array的.filter()
方法过滤掉这样的名称:
let array = ['Pakistan', 'India', 'China', 'Iran', 'USA',
'United Kingdom', 'Iraq', 'Ghana'];
let min = 4,
max = 6;
let result = array.filter(({ length }) => (length >= min && length <= max));
console.log(result);
<强>文档:强>