在JavaScript中定义队列数据结构

sam*_*kar 1 javascript

我只是想学习JavaScript.我想设计一个采用以下格式的队列:

[{(0,0),0}], [{(0,1),1}], [{(0,2),2}]
Run Code Online (Sandbox Code Playgroud)

所以我尝试用以下方式定义队列,但显然它不正确

var queue = [{}] ;
Run Code Online (Sandbox Code Playgroud)

Jul*_*ont 5

首先,JS中没有"耦合"数据结构,因此您(0,1)必须是数组[0,1],对象:{x: 0, y: 1}或自定义类型(见下文).

在javascript中,结构不是强类型的,因此您只需定义根是数组还是对象.在这种情况下,它似乎是一个数组.

var queue = [];
Run Code Online (Sandbox Code Playgroud)

然后,将队列推送到您需要的位置.例如:( 我发明了字段名称,适合您的用例)

var element1 = {coords: [0, 0], val: 0 };
queue.push(element1);
var element2 = {coords: [0, 1], val: 1 };
queue.push(element2);
Run Code Online (Sandbox Code Playgroud)

就像我说的,您可以使用另一种表示形式,例如:[[0,0], 0]或定义自定义类型(面向对象).

function MyType(coords, val) {
  this.coords = coords;
  this.val = val;
}

function Couple(x, y) {
  this.x = x;
  this.y = y;
}

queue.push(new MyType(new Couple(1, 2), 3))
Run Code Online (Sandbox Code Playgroud)