Фильтрация названий стран по длине - PullRequest
0 голосов
/ 05 мая 2018

Я пытаюсь написать код, который позволил бы мне брать названия стран из массива, имена которого не соответствуют требованиям минимальной и максимальной длины. Допустим, на моей странице я набираю 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

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Вы можете использовать метод массива .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);

Docs:

0 голосов
/ 05 мая 2018

Используйте 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...