Помогите получить массив с уникальными элементами
Добрый день
Помогите разобраться что делаю не так. Не судите строго. только начал изучать 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, время: 03:35. |