gpt4 book ai didi

javascript - 如何在javascript中打印无序列表?

转载 作者:行者123 更新时间:2023-12-03 08:48:37 24 4
gpt4 key购买 nike

我有一个问题

  • 编写一段 Javascript 代码来存储字符串列表/对其进行排序并将其打印在无序列表中

你能告诉我如何在javascript中打印无序列表吗?我确实喜欢使用 Math.random 函数,但它不打印值

var arr=['abc','pqr','mnc'];
for(var i=0;i<arr.length;i++){
console.log(arr[Math.floor((Math.random() * 3) + 1)]) ;

}

http://jsfiddle.net/3s4Lqr0o/1/它没有打印所有值?

最佳答案

这里的第一个问题是 Math.floor((Math.random() * 3) + 1) 将返回 1 到 3 之间的数字。您的数组只有索引 0 处的元素, 1 和 2。因此 abc 根本不会被打印。

第二个问题是,无法保证您的计算将返回每个数字 0、1 和 2 一次。您可能会连续获得 arr[1] 三次,从而导致 pqr 被打印 3 次。

我最初投票将此问题标记为 How to randomize (shuffle) a JavaScript array? 的重复项。我的想法是,您可以简单地打乱数组,然后打印打乱后的数组。不过,由于这个问题已经重新提出,我将提出一个替代解决方案。

arr = ['abc','pqr','mnc'];

while (arr.length > 0) {
var index = Math.floor(Math.random() * arr.length);
console.log(arr[index]);
arr.splice(index, 1);
}

随机选择数组中的一个元素,打印它,然后将其从数组中删除。重复直到没有更多的元素。

关于javascript - 如何在javascript中打印无序列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32774048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com