Underscore.js _.shuffle()函数用于以随机方式排列数组列表。这个_.shuffle()下划线函数使用费舍尔耶茨洗牌这将在下面提到的文章中讨论。因此,每次我们使用此函数时,根据 Fisher Yates Shuffle,该函数的输出都会有所不同。
用法:
_.shuffle(list)
参数:该函数接受单个参数List。该参数用于保存将被打乱的项目列表。
返回值:返回的值是新的随机数组,其中包含传递给 _.shuffle() 函数的原始数组中的所有元素。
向_.shuffle()函数传递一个数值数组:._shuffle()函数从列表中一一取出元素,并根据fisher Yates Shuffle进行指定操作。那么 console.log() 就是最终答案,它将包含随机问题中原始数组的所有元素。
例子:
html
<script src=
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
</script>
<script type="text/javascript">
console.log(_.shuffle(_.shuffle([1, 2, 3, 4, 5, 6])));
</script>
输出:每次运行代码时,输出都会打乱。
[1, 2, 3, 6, 5, 4] //1st time [3, 6, 2, 4, 5, 1] //2nd time [5, 6, 1, 4, 3, 2] //3rd time
将结构传递给 _.shuffle() 函数: 将结构传递给 _.shuffle() 函数。首先,声明数组,如下所示,数组为 ‘goal’,然后将此数组传递给 _.shuffle() 函数。 ‘goal’ 数组的元素及其所有属性将被打乱。
例子:此示例演示了 above-used 方法。
html
<script src=
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
</script>
<script type="text/javascript">
var goal = [
{
"category" : "other",
"title" : "harry University",
"value" : 50000,
"id":"1"
},
{
"category" : "travelling",
"title" : "tommy University",
"value" : 50000,
"id":"2"
},
{
"category" : "education",
"title" : "jerry University",
"value" : 50000,
"id":"3"
},
{
"category" : "business",
"title" : "Charlie University",
"value" : 50000,
"id":"4"
}
]
console.log(_.shuffle(goal));
</script>
输出:每次运行代码时,输出都会打乱。
[[object Object] { category: "business", id: "4", title: "Charlie University", value: 50000 }, [object Object] { category: "travelling", id: "2", title: "tommy University", value: 50000 }, [object Object] { category: "education", id: "3", title: "jerry University", value: 50000 }, [object Object] { category: "other", id: "1", title: "harry University", value: 50000 }]
将一个属性为 true/false 的列表传递给 _.shuffle() 函数:首先,声明数组(此处数组为‘people’)。选择一个需要检查的条件,例如此处的“hasLongHairs”。 Console.log最终答案。最终答案将是一个随机数组,因为 Fisher yates shuffle 在其算法中使用了随机函数。
例子:此示例演示了 above-used 方法。
html
<script src=
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
</script>
<script type="text/javascript">
var people = [
{"name": "sakshi", "hasLong": "false"},
{"name": "aishwarya", "hasLong": "true"},
{"name": "akansha", "hasLong": "true"},
{"name": "preeti", "hasLong": "true"}
]
console.log(_.shuffle(people, 'name'));
</script>
输出:每次运行代码时,输出都会打乱。
[[object Object] { hasLong: "true", name: "preeti" }, [object Object] { hasLong: "true", name: "akansha" }, [object Object] { hasLong: "false", name: "sakshi" }, [object Object] { hasLong: "true", name: "aishwarya" }]
声明一个数组,然后将其传递给 _.shuffle() 函数: 声明一个属性为 ‘num’ 的数组 let ‘users’,然后将其传递给 _.shuffle() 函数。然后console.log新的随机数组。每次运行时的输出都会不同。
例子:此示例演示了 above-used 方法。
html
<script src=
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
</script>
<script type="text/javascript">
var users = [{"num":"1"}, {"num":"2"}, {"num":"3"},
{"num":"4"}, {"num":"5"}];
console.log(_.shuffle(users, 'id'));
</script>
输出:每次运行代码时,输出都会打乱。
[[object Object] { num: "5" }, [object Object] { num: "4" }, [object Object] { num: "3" }, [object Object] { num: "1" }, [object Object] { num: "2" }]
相关用法
- underscore.js _.size()用法及代码示例
- underscore.js _.second()用法及代码示例
- underscore.js _.splitAt()用法及代码示例
- underscore.js _.splat()用法及代码示例
- underscore.js _.seq()用法及代码示例
- underscore.js _.selectKeys()用法及代码示例
- underscore.js _.snapshot()用法及代码示例
- underscore.js _.strContains()用法及代码示例
- underscore.js _.sneq()用法及代码示例
- underscore.js _.sub()用法及代码示例
- underscore.js _.sortedindex()用法及代码示例
- underscore.js _.sample()用法及代码示例
- underscore.js _.sortBy用法及代码示例
- underscore.js _.some用法及代码示例
- underscore.js _.size用法及代码示例
- underscore.js _.delay()用法及代码示例
- underscore.js _.difference()用法及代码示例
- underscore.js _.flatten()用法及代码示例
- underscore.js _.initial()用法及代码示例
- underscore.js _.zip()用法及代码示例
- underscore.js _.wrap()用法及代码示例
- underscore.js _.without()用法及代码示例
- underscore.js _.last()用法及代码示例
- underscore.js _.isRegExp()用法及代码示例
- underscore.js _.union()用法及代码示例
注:本文由纯净天空筛选整理自Sakshi98大神的英文原创作品 Underscore.js _.shuffle Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。