Javascript从数组中选择前两个

Javascript select first two from array

本文关键字:两个 数组 选择 Javascript      更新时间:2023-09-26
O {
    k = 57.690636,
    A = -2.010575000000017,
    type = 'terrible'
}

上面的kAkeys,但它们是周期性变化的。所以我希望有人能帮我解决这个问题。

我目前只是使用data.kdata.A从数组中获取值,但是否有可能只选择前两个并将它们设置为变量而不知道键名?

将JSON成员添加到数组中,然后使用它的索引。

var O = {
  k:57.690636,
  A:-2.010575000000017,
  type:'terrible'
};
var index = [];
for (var x in O) {
   index.push(O[x]);
};

演示:http://www.bootply.com/124965

虽然不是最好的方法,但下面的方法可以在假设您正在查找的属性类型为number的情况下工作。

var obj = {
    k : 57.690636,
    A : -2.010575000000017,
    type : 'terrible'
};

for (attr in obj)
{
if (typeof obj[attr] === 'number')
{
console.log(obj[attr]);
}
}

您可以使用Object.keys(yourObjectHere)来获取键的数组,但是对于更旧的浏览器兼容的方法,尝试:

var keys = [], k;
for( k in yourObjectHere) keys.push(k);

如果你愿意,你也可以在有了前两个之后跳出循环。

无论你选择怎么做,你现在可以访问yourObjectHere[keys[0]]yourObjectHere[keys[1]]

JavaScript对象的属性顺序由规范定义。这意味着根据实现,键可以以任意顺序返回,因此它们的前两个键可以是对象中的任意两个键。

. .

列举属性的机制和顺序(步骤6)。第一个算法中的A,步骤7。没有指定第二种情况中的A。

如果实现为for-in语句定义了特定的枚举顺序,则必须在该算法的第5步中使用相同的枚举顺序。

最好的方法是稳定这些对象的源,以便始终使用相同的键返回有价值的信息。


随机猜测您使用了一些缩短密钥长度的缩小器。也许不做

var returnedObject = {
  lat : '123',
  long : '456';
}

你可以这样做:

var returnedObject = {};
returnedObject['lat'] = '123';
returnedObject['long'] = '456';

这将防止最小化更改键名。如果您使用外部服务,您应该问自己这是否是真正的公共数据(意味着打算由您使用的数据),如果不是,那么公共替代方案是什么。