gpt4 book ai didi

Javascript 从数组中获取对象序列

转载 作者:行者123 更新时间:2023-12-02 18:04:00 27 4
gpt4 key购买 nike

我有不同类型的 JavaScript 对象,它们都有一个属性“行”。

var row1 = {
row: 1
};

var row2 = {
row: 2
};

var row3 = {
row: 3
};

var row4 = {
row: 4
};

...

我有一个定义如下的数组:

var objArray = [];

在此数组中可以有多个“行”。从较低行到较高行的顺序始终相同。

现在我想要获取彼此相邻链接的对象(例如连续 4 个)。就我而言,也可以连续 3 个、连续 5 个等等。

示例:

objArray.push(row0);
objArray.push(row1);
objArray.push(row2);
objArray.push(row3);
objArray.push(row5);
objArray.push(row6);
objArray.push(row7);
objArray.push(row9);
objArray.push(row10);
objArray.push(row12);

在本例中,我需要 2 个列表,其中 1 个包含 row0 到 3,另一个包含 5 到 7。

我在这个 JSFiddle 中尝试了一些:Here我们可以看到控制台输出如果您需要更多说明,请询问。

提前致谢!

最佳答案

我做了一个 fiddle ,可以为你做到这一点:

    for(var i = 0; i < objArray.length; i++) {
if(currentnum !== -1)
{
var result = objArray[i].row - currentnum;
currentnum = objArray[i].row;
if(result === 1)
{
currentarray.push(objArray[i]);
} else {
arrayofarrays.push(currentarray);
currentarray = [];
currentarray.push(objArray[i]);
}
} else {
currentnum = objArray[i].row;
currentarray.push(objArray[i]);
}
}
arrayofarrays.push(currentarray);

http://jsfiddle.net/B76a8/6/

关于Javascript 从数组中获取对象序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20265240/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com