为数组项分配随机整数值

时间:2018-03-31 00:02:24

标签: javascript arrays html5 html5-canvas

(HTML5 Canvas,JavaScript)嗨,所以我有这个数组:

task<void>

我还有一个按钮,可以生成0到8之间的随机数:

 <ContentControl  Content="{Binding}" >

无论生成什么随机数,我都希望它用正确的胸部执行任务,但首先我需要一种方法将上面数组中的9个胸箱中的每一个分配给0到8的数字。这是什么最简单的方法吗?我以为我可以在阵列中单独分配每个胸部,但是我是否做错了什么,它不起作用。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

通过将项目放入数组中,您可以在以后引用它们。我不太清楚你的目的是什么,但这可能会有所帮助:

function draw() {
  var ctx = document.getElementById('canvas').getContext('2d');
  var img = new Image();
  img.src = "https://mdn.mozillademos.org/files/5395/backdrop.png";
  var chestArr = [
    {image:img,dx:150,dy:280,dWidth:200,dHeight:177},
    {image:img,dx:320,dy:280,dWidth:200,dHeight:177},
    {image:img,dx:490,dy:280,dWidth:200,dHeight:177},
    {image:img,dx:150,dy:420,dWidth:200,dHeight:177},
    {image:img,dx:320,dy:420,dWidth:200,dHeight:177},
    {image:img,dx:490,dy:420,dWidth:200,dHeight:177},
    {image:img,dx:150,dy:560,dWidth:200,dHeight:177},
    {image:img,dx:320,dy:560,dWidth:200,dHeight:177},
    {image:img,dx:490,dy:560,dWidth:200,dHeight:177}
  ];

    chestArr.forEach(function(chest){
      ctx.drawImage(chest.image, chest.dx, chest.dy, chest.dWidth, chest.dHeight);
    });

} 

这假设您在标记中设置了"onload=draw()"并设置了canvas元素。

答案 1 :(得分:0)

要将数字等值赋给数组项,请使用方括号,并为要为其指定值的项的从零开始的索引使用。

例如:

const arr = ["foo", "bar", "baz"];
arr[1] = true;
//now arr contains ["foo", true, "baz"];

要将您的箱子分配到数组中,请参阅DILP's answer以了解相关方法。

在这里,您可以将true分配给9项数组的随机项:

&#13;
&#13;
function randomInteger(max){
  return Math.floor(Math.random()*max);
}
//create an array of undefined values of length 9
const arr = new Array(9);

//assign true to a random array item (do "something" with this random array item)
arr[randomInteger(arr.length)] = true;

console.log(arr);
&#13;
&#13;
&#13;