Помогите получить массив с уникальными элементами
Добрый день
Помогите разобраться что делаю не так. Не судите строго. только начал изучать js. Имеем массив со строками, нужно их перебрать и получить в итоге массив с уникальными значениями и элементами в нижнем регистре. При сравнении элементов регистр учитываться не должен. var hashtags = ['web', 'yandex', 'JavaScript', 'Yandex', 'script', 'programming']; var results = []; for(i=0; i<hashtags.length; i++){ var hashtag = hashtags[i]; for(j=0; j<results.length; j++){ var result = results[0]; if (hashtag.toLowerCase !==result.toLowerCase){results.push(hashtag.toLowe rCase)} }} alert(results); Буду очень благодарен за помощь. |
var hashtags = ['web', 'yandex', 'JavaScript', 'Yandex', 'script', 'programming'],
results = {};
for (i = 0; i < hashtags.length; i++) {
results[hashtags[i].toLowerCase()] = 1;
};
results = Object.keys(results);
alert(results);
//Не кроссбраузерно
var hashtags=['web', 'yandex', 'JavaScript', 'Yandex', 'script', 'programming'],
results=hashtags.map(i=>i.toLowerCase()).filter((c,i,a)=>a.indexOf(c)===i);
alert(results);
hashtags=hashtags.map(function(i){
return i.toLowerCase()
}).filter(function(c,i,a){
return a.indexOf(c)===i;
});
alert(results);
|
Спасибо огромное, разобрался!
|
здравствуйте! помогите пожалуйста с похожей задачкой. только в результате нужно получить не массив, а строку. Использую метод join, но почему то не работает.
module.exports = function (hashtags){ hashtags, results = {}; for (i=0; i < hashtags.length; i++) { results[hashtags[i].toLowerCase()] = 1; }; result = Object.keys(results); string = result.join(' '); }; |
:-?
var tags = ['web', 'yandex', 'JavaScript', 'Yandex', 'script', 'programming'],
module = {},
string="";
module.exports = function (hashtags){
var results = {};
for (i=0; i < hashtags.length; i++) {
results[hashtags[i].toLowerCase()] = 1;
};
result = Object.keys(results);
string = result.join(' ');
};
module.exports(tags);
alert(string);
|
Спасибо большое за ответ Dilettante_Pro! нашел недочет у себя
|
| Часовой пояс GMT +3, время: 08:30. |