【问题标题】:How do I make a list out of unique array items?如何从唯一的数组项中创建一个列表?
【发布时间】:2014-05-12 21:02:43
【问题描述】:

所以说我有一些颜色:

红色

蓝色

蓝色

绿色

我只想将唯一的放入数组中。然后,我希望将该数组中的每个项目添加到已经存在的颜色列表中。所以我的最终结果是这样的:

<ul>
   <li>Original Color</li>
   <li>Original Color</li>
   <li>Red</li>
   <li>Blue</li>
   <li>Green</li>
</ul>

我将颜色放入数组中,然后找到唯一的颜色。但我从那里迷路了。

好的,这是我目前所拥有的:

var yearArray = [];
$('#calendar .item').each(function(){
   var dataYear = $(this).attr('data-year');
   yearArray.push(dataYear);
});
yearArray = $.unique(yearArray);

我不敢发布它,因为我不知道它是否有意义,尤其是在我的示例中。我真的得到了一个年份列表,并且只需要将每年的 1 个放入 ul 中,以便对日历进行分页。我有我独特的年份清单,但我现在不知道该怎么办。

【问题讨论】:

  • 如果您要询问有关 javascript 的问题,包含您尝试过的代码会有所帮助。
  • 所以...您真的在问“如何使用 JavaScript/jQuery 添加 HTML 列表项”?试试this question
  • This question 有一个很好的例子,说明如何向Array.prototype 添加函数以提取唯一值。
  • 基本上我需要志豪和War10ck的链接合二为一。个人的事情我可以做。我不知道如何让它们一起工作。
  • 如您的问题中所述,您似乎已经拥有了独特的部分,因此您不需要@War10ck 的链接。您只需从我之前的评论中复制粘贴链接中的最佳答案,然后将其列表项内容替换为您的。您不需要合并任何内容,因为这些是单独的问题,您只需将“添加列表项代码”直接放在“获取唯一项”代码之后。你在哪方面有问题?

标签: javascript jquery arrays


【解决方案1】:

我终于找到了有用的东西。我很确定这不是最好的方法,但我已经尝试了好几个小时,所以哦。

var yearArray = [];
$('#calendar .item').each(function(){
    var dataYear = $(this).attr('data-year');
    yearArray.push(dataYear);
});
var unique = new Array();
$(yearArray).each(function(index, item) {
    if ($.inArray(item, unique) == -1)
    unique.push(item);
});
$(unique).each(function(index, item) {
    $("#years ul").append($("<li>").html(item));
});

【讨论】:

    猜你喜欢
    • 2019-11-03
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 2021-04-30
    • 1970-01-01
    相关资源
    最近更新 更多