- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
例如,我有包含多个对象的数组,
var arr = ["a", "b", "c", "d"];
我想要的是从该数组中选取 2 个随机对象,例如“a”和“c”,并将这 2 个对象推送到另一个数组中,例如“arrCopy”。另一件事是,我想要数组“arrCopy”中元素的副本,这些元素也被打乱。因此,该数组应如下所示:
arrCopy = ["c", "a", "a", "c"];
最后,如果内容相同,如何比较呢?例如:
arrCopy[1] == arrCopy[2];
最佳答案
对于你的第一个问题:
var index1 = parseInt(Math.random() * arr.length, 10);
var index2 = index1;
while(index1 == index2) {
index2 = parseInt(Math.random() * arr.length, 10)
}
var arrCopy = [arr[index1], arr[index2]]
您能否澄清问题的第二部分,听起来不像“另一件事是,我想要数组“arrCopy”中元素的副本”与您的示例匹配,因为您的示例有 4元素,而不是您从数组中选取的 2 个元素。
编辑:
对于第二个问题,替换:
var arrCopy = [arr[index1], arr[index2]]
与:
var arrCopy = [arr[index1], arr[index2], arr[index1], arr[index2]]
对于你的第三个问题:
arrCopy1 === arrCopy2 将是浅比较(它们在内存中的地址是否相同)
var areEqual = true;
for (var i = 0; i < arrCopy1.length; ++i) {
if (arrCopy1 [i] !== arrCopy2[i]) {
areEqual = false;
break;
}
}
然后检查 areEual 是否深度相等(数组内容是否相同)。
关于javascript - 随机化数组,选取 2 个随机对象,然后填充一个新数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25000643/
在下面的代码中,我想不必添加undefined作为filteredDevice的类型注解。我认为一个被过滤的设备不应该是未定义的,因为我过滤掉了未定义的设备。 但是如果我删除 undefined类型注
我有一个 UIButton,其文本来自服务器。按钮的宽度是固定的。我想要的是,如果按钮的文本超过按钮的宽度,文本应该在按钮内选取框。如果文本适合按钮宽度,则不应有选取框效果。 我点击了一些链接(one
我正在从头开始实现 webgl 选取,并决定走 GLSL 路线,而不是光线相交测试。 所以我将整个场景渲染到一个单独的帧缓冲区中,为每个对象分配一个唯一的颜色,该颜色作为统一变量传递给片段着色器。当场
例如,我有包含多个对象的数组, var arr = ["a", "b", "c", "d"]; 我想要的是从该数组中选取 2 个随机对象,例如“a”和“c”,并将这 2 个对象推送到另一个数组中,例如
我是一名优秀的程序员,十分优秀!