Задать вопрос
xeLL
@xeLL
Fullstack web developer

Как сделать shuffle c параметром?

У меня происходит случайное тасование(bost.ocks.org/mike/shuffle/) в массиве объектов и потом рассыллка по:

for (var i = 0; i < subscribers.length; i++) {
subscriber = subscribers[i];
if (i === subscribers.length - 1) {
recipient = subscribers[0];
}
else {
recipient = subscribers[i + 1];
}

И посылаю через nodemailer, но надо не посылать самому себе, так как можно при регистрации зарегистрироваться на один и тот же email.

Вот и как перемешать или отсортировать, так чтобы каждый следующий не имел такой же email?

Сделать как-то так на перемешанный массив?
Array.prototype.sortOn = function(key){
this.sort(function(a, b){
if (a[key] != b[key]){
return -1;
}else if(a[key] === b[key]){
return 1;
}
return 0;
});
};
  • Вопрос задан
  • 2294 просмотра
Подписаться Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@freydev
А зачем вам сначала перемешивать, а потом снова сортировать? я бы сделал както так
var recipient = _.shuffle(_.uniq(subscribers, function(obj){return obj.email}));


_ - это underscorejs.ru
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы