这是我的目标:
function Plane (x,z) {
this.x = x;
this.z = z;
}
var plane = new Plane(0,50000);
我有一个包含这些对象的数组:
planesArray.push(plane);
我有一个点对象:
function Point (x,z) {
this.x = x;
this.z = z;
}
var point = new Point(0,-50000);
我需要检查planesArray
中是否存在具有特定点的对象,以检查该点的x和y值是否等于数组中的任何平面,如果不是,则检查执行一项行动。
我仍然是新手,如果这个问题听起来很蠢,我道歉。
答案 0 :(得分:1)
循环遍历数组并返回一个布尔值,指示是否找到了具有这些属性的Point
对象。此示例使用.some
方法执行此操作。
var found = planesArray.some(function(plane) {
return plane.x === x && plane.y === y;
});
if (found) {
}
更新:这是与函数相同的代码。
function found(list, x, y) {
return list.some(function(plane) {
return plane.x === x && plane.y === y;
});
}
答案 1 :(得分:0)
var point = new Point(0,-50000);
for(var i = 0; i < planesArray.length; i++) {
var plane = planesArray[i];
if(plane.x != point.x || plane.z != point.z) {
//perform action
//break; //optional, depending on whether you want to perform the action for all planes, or just one
}
}