Javascript:获取数组中的所有整型键和所有值?

Javascript:获取数组中的所有整型键和所有值?,javascript,Javascript,Object.keys(obj)返回作为对象键的字符串数组。 但是,如果对象是一个数组,并且我想要它所具有的整数索引列表,该怎么办? 有没有一种简单的方法可以在不必将它们全部提取出来的情况下提取出来 或者,是否有一种简单的方法来实现一种对象.values()的排序,以从对象获取值的数组(使用普通数组整数键)?您可以为()循环数组: 根据ES5的定义,似乎没有什么比得上你正在寻找的东西 我想你能做的就是 var numericKeys = Object.keys(myObject).filter(

Object.keys(obj)
返回作为对象键的字符串数组。
但是,如果对象是一个数组,并且我想要它所具有的整数索引列表,该怎么办?
有没有一种简单的方法可以在不必将它们全部提取出来的情况下提取出来

或者,是否有一种简单的方法来实现一种
对象.values()
的排序,以从对象获取值的
数组(使用普通数组整数键)?

您可以为()循环数组:

根据ES5的定义,似乎没有什么比得上你正在寻找的东西

我想你能做的就是

var numericKeys = Object.keys(myObject).filter(function (key) {
    return parseInt(key, 10).toString() === key;
});

你到底为什么想要一组钥匙?只需从0开始,迭代到
array.length
。您的数组可能几乎为空(大多数数值未设置),因此您可能希望避免循环到1000000以查找仅有的32个现有值。chrome不理解
myObject.keys()
抱歉,我忽略了一个事实,
keys
Object
的属性,而不是
Object.prototype
,因此不能将其作为方法调用。我已经更新了我的答案。您还忽略了一个事实,
Object.keys()
只返回字符串,即使键是一个数字,因此我引用了
parseInt
。在回答之前,请试着阅读并理解问题。没有必要太苛刻。我错过了你说数组包含字符串的部分,好吗。但是我花了时间浏览规范,检查数组中是否不存在像您想要的那样的方法。在任何情况下,我都会更新我的答案(但它不会说更多的问题)。
var numericKeys = Object.keys(myObject).filter(function (key) {
    return parseInt(key, 10).toString() === key;
});