从JavaScript对象数组中删除随机值
Remove random values from JavaScript objects array
我有坐标为的JS数组
var markers = xmlDoc.documentElement.getElementsByTagName("marker");
var waypoints = new Array();
for (var i = 0; i < markers.length; i++) {
point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lon")));
waypoints.push({location: point, stopover: false});
}
如果数组长度大于8,我需要过滤数组,并在其中只留下8个随机值。
谢谢你的帮助。
要解决此问题,您需要能够在0
和length - 1
之间创建一个随机整数,然后在循环中Array.prototype.splice
取出该索引处的项,直到达到所需的长度。
function randInt(max, min) {
return ((min | 0) + Math.random() * (max + 1)) | 0;
}
function remRandom(arr, newLength) {
var a = arr.slice();
while (a.length > newLength) a.splice(randInt(a.length - 1), 1);
return a;
}
var foo = ['a', 'b', 'c', 'd', 'e', 'f'];
remRandom(foo, 3); // e.g. ["b", "c", "e"]
我将混合使用javascript的随机函数和数组的拼接方法。对数组大于8的次数执行此操作。
http://www.w3schools.com/jsref/jsref_splice.asp
http://www.w3schools.com/jsref/jsref_random.asp
通过生成一个介于0和array.length-1之间的数字,可以从数组中的随机位置删除一个元素,然后使用splice从数组中剪切该元素。有关元素的删除,请参见此答案:
如何在JavaScript中从数组中删除特定元素?
相关文章:
- 使用php或javascript从facebook相册URL中删除多余的部分
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 如何使用jquery随机删除变量
- 随机选择没有重复项的数组项,而不删除项(JavaScript)
- 如何从数组中删除随机项目,然后将其从数组中删除,直到数组为空
- 随机选择带有删除项的数组(jQuery)
- 删除随机项目,
- 从数据库中删除随机条目
- 拼接删除JavaScript中的随机元素问题
- 单击功能删除随机ID
- 从JavaScript对象数组中删除随机值
- 如何从数组中选择随机元素并将其从列表中删除
- 在随机化后从数组中删除一个项
- 从表中选择随机行,然后删除该行并使用该行创建一个新表
- 随机选择并使用下划线从集合中删除
- 从HTML页面删除随机单词
- 使用随机id从json数组中删除项目
- jQuery删除之前随机选择和显示的段落,并重新显示随机选择的段落
- 如何使用jquery随机删除同一类的元素
- 如何删除字符串时随机选择的javascript