我们设法创建了下面的脚本,以从数组中删除任何重复的字符串.但是,重要的是我们保持数组的顺序,以便在ng-repeat上角度循环通过它们.此外,我们希望其余元素保持相同的索引.
scope.feedback = _.map(_.pluck(item.possibleAnswers, 'feedback'), function (element, index, collection) {
return collection.slice(0, index).indexOf(element) === -1 ? element : '';
});
上面的代码可行,但我们觉得必须有一个比这更简单的解决方案来解决我们的问题.有没有其他人有类似的问题,并提出了更好的解决方案?
解决方法:
变量减少https://jsfiddle.net/58z7nrfy/1/
var a = [1,2,3,1,2,3,2,2,3,4,5,5,12,1,23,4,1];
var b = a.reduce(function(p,c,i,a){
if (p.indexOf(c) == -1) p.push(c);
else p.push('')
return p;
}, [])
console.log(b)
[1, 2, 3, “”, “”, “”, “”, “”, “”, 4, 5, “”, 12, “”, 23, “”, “”]