如何使用Javascript为有序列表中的每个项目分配值

时间:2019-05-05 23:46:29

标签: javascript python html list frontend

我正在尝试为我的每个搜索结果给出一个mat-toolbar { height: 64px; position: fixed; z-index: 100; width: 100% !important; } 之类的匹配百分比。

我还没有找到可以在python中编写函数的解决方案,所以我想知道是否存在一种方法来创建一些Java代码,该代码会自动分配100%到50%的随机值(以相反的顺序)根据列表的默认顺序(1,2,3,4 ..)排序到有序列表中的每个项目(这是我的搜索结果)。

HTML的简单示例:

90% Match

现在最终的预期结果应该类似于以下内容:

<ol class="ordered-list">

   <li class="list-item"><\li>  <!-- This item represent the 1st result -->
   <li class="list-item"><\li>  <!-- 2nd result -->
   <li class="list-item"><\li>  <!-- 3rd result -->
   <li class="list-item"><\li>  <!-- 4th result -->

   <!-- Etc... -->

<\ol>

Ps;搜索结果并非全部都是手动添加的,它们都来自数据库和索引。

关于如何实现这一目标的任何想法?

2 个答案:

答案 0 :(得分:0)

您可以使用python的随机库来实现分数的随机生成。

import random

results_size = 4
scores = random.sample(range(50, 101), results_size)
scores.sort(reverse=True)
print(scores)

示例输出:

[93, 73, 68, 50]

然后迭代得分列表,并将其当前值分配给当前列表元素。

答案 1 :(得分:0)

此部分用于生成75-100范围内的随机数:

function getRandomInt(min, max) {
    min = Math.ceil(min);
    max = Math.floor(max);
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

这部分是您可以使用的代码示例,可以通过更改<li>来生成itemLength项,其数量与从数据库获得的行数一样多,并且可以更改通过将randomInt中的listItem.appendChild(randomInt)替换为您要放在其中的描述来更改列表项的内容。

<body>
    <ol id="listObject">

    </ol>
</body>

<script type="text/javascript">
    var orderedList = document.getElementById("listObject");
    var itemLength = 5; //REPLACE THIS WITH THE LENGTH OF THE ITEM LIST

    function getRandomInt(min, max) {
        min = Math.ceil(min);
        max = Math.floor(max);
        return Math.floor(Math.random() * (max - min + 1)) + min;
    }

    var listItem; var randomInt;

    for (var i = 0; i < itemLength; i++){

        listItem = document.createElement("LI");
        randomInt = document.createTextNode(getRandomInt(50, 100).toString() + "%");
        listItem.appendChild(randomInt);
        orderedList.appendChild(listItem);
    }

</script>