Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите получить массив с уникальными элементами (https://javascript.ru/forum/misc/71700-pomogite-poluchit-massiv-s-unikalnymi-ehlementami.html)

Александр3297 06.12.2017 11:44

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

Буду очень благодарен за помощь.

Nexus 06.12.2017 11:51

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);

Александр3297 06.12.2017 15:49

Спасибо огромное, разобрался!

dany2855 06.01.2018 19:26

здравствуйте! помогите пожалуйста с похожей задачкой. только в результате нужно получить не массив, а строку. Использую метод 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(' ');
};

Dilettante_Pro 07.01.2018 15:48

:-?
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);

dany2855 09.01.2018 00:04

Спасибо большое за ответ Dilettante_Pro! нашел недочет у себя


Часовой пояс GMT +3, время: 03:35.