[英]how do I find an object's index number in an array
I've got this code that is looking for the closest number to 0 in my array : 我有这段代码正在寻找我的数组中最接近0的数字:
var tideArray = new Array();
tideArray.push({tide:"haute", difference: "-14"});
tideArray.push({tide:"haute", difference: "3"});
tideArray.push({tide:"basse", difference: "-4"});
tideArray.push({tide:"basse", difference: "8"});
if (tideArray.length > 0)
{
var minItem: Object = tideArray[0];
for (var index:int = 1; index < tideArray.length; index++)
{
if (Math.abs(tideArray[index].difference) < Math.abs(minItem.difference))
{
minItem = tideArray[index];
}
}
}
trace(minItem.difference) // OUTPUT is 3 in this case
s there a way to find the index of minItem.difference
in my tideArray
? 那儿办法找到的指数
minItem.difference
我tideArray
? (so, the result here should be index = 1 ) (因此,这里的结果应该是index = 1)
I've tried tideArray.indexOf(minItem.difference)
but the output is -1
, so the index wasn't found... 我已经尝试过
tideArray.indexOf(minItem.difference)
但输出为-1
,所以找不到索引...
I'm looking for the index number and not the value of "difference" or "tide". 我在寻找索引号,而不是“差”或“潮”的值。
尝试使用地图,例如:
tideArray.map(function (cv) { return cv.difference }).indexOf("-14")
A really simple approach would be to record the index using your existing loop: 一个非常简单的方法是使用您现有的循环记录索引:
if (tideArray.length > 0)
{
var mindex: int = NaN;
var minItem: Object = tideArray[0];
for (var index:int = 0; index < tideArray.length; index++)
{
if (Math.abs(tideArray[index].difference) < Math.abs(minItem.difference))
{
minItem = tideArray[index];
mindex = index;
}
}
trace("Min item index: " + mindex);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.