Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript数组中的最小和最大索引_Javascript_Arrays - Fatal编程技术网

JavaScript数组中的最小和最大索引

JavaScript数组中的最小和最大索引,javascript,arrays,Javascript,Arrays,我有一个简单的问题。我有这样的JS数组: data[-5]=[...]; data[-2]=[...]; data[-1]=[...]; data[4]=[...]; data[6]=[...]; data[7]=[...]; 如何自动获取最小(数据[-5])和最大(数据[7])元素 负指数不是实际指数。他们不会一直工作。它们与对象的任何其他属性一样 但是,您可以通过迭代可枚举属性(,这对数组不好,但无论如何)并向数组中添加数字属性来完成所需的操作 var idxs = Object.keys

我有一个简单的问题。我有这样的JS数组:

data[-5]=[...];
data[-2]=[...];
data[-1]=[...];
data[4]=[...];
data[6]=[...];
data[7]=[...];

如何自动获取最小(数据[-5])和最大(数据[7])元素

负指数不是实际指数。他们不会一直工作。它们与对象的任何其他属性一样

但是,您可以通过迭代可枚举属性(,这对数组不好,但无论如何)并向数组中添加数字属性来完成所需的操作

var idxs = Object.keys(arr).filter(isFinite); // just take the Number properties
var min = Math.min.apply(Math, idxs),
    max = Math.max.apply(Math, idxs);

负索引不是实际索引。他们不会一直工作。它们与对象的任何其他属性一样

但是,您可以通过迭代可枚举属性(,这对数组不好,但无论如何)并向数组中添加数字属性来完成所需的操作

var idxs = Object.keys(arr).filter(isFinite); // just take the Number properties
var min = Math.min.apply(Math, idxs),
    max = Math.max.apply(Math, idxs);
短而无环:

var keys = Object.keys(data);
var sorted = keys.sort(function(a, b){return a-b});
var min = data[sorted[0]];
var max = data[sorted[sorted.length-1]];
短而无环:

var keys = Object.keys(data);
var sorted = keys.sort(function(a, b){return a-b});
var min = data[sorted[0]];
var max = data[sorted[sorted.length-1]];

数组的负索引在JavaScript中不正确。它们在某种程度上是可以工作的,但是如果您使用
JSON.stringify
对数组进行序列化,您将失去这些功能,它们不会反映在数组长度中。为什么会有负索引???@Pointy:我还没有听说过任何语言的数组可以用负值索引…@Bergi我想你可以/可以用Pascal实现:)@Bergi VB也支持它们。数组的负索引在JavaScript中是不正确的。它们在某种程度上是可以工作的,但是如果您使用
JSON.stringify
对数组进行序列化,您将失去这些功能,它们不会反映在数组长度中。为什么会有负索引???@Pointy:我还没有听说过任何语言的数组可以用负值索引…@Bergi我想你可以用Pascal实现:)@Bergi VB也支持它们。