1
我有一个名为clickNext()的函数按钮。无论何时点击该按钮,它都会在名为“arr1”的数组上增加索引位置(scope.selected)。如何更改数组的索引顺序?
<button type="button" class="right-btn col-xs-6" role="menuitem" ng-click="clickNext()">Next</button>
。
function clickNext()
{
scope.selected = (scope.selected + 1) % length;
}
arr1 = [
{apple: 1 , tango},
{banana: 3, kappa},
{orange:5, alpha},
{apple: 8 , beta},
{grape: 10 , sigma}
]
问题
我具有相同的阵列ARR1称为 'ARR2'。我想要做的是将clickNext()增量到基于arr2数组而不是arr1数组的下一个索引位置。
现在,clickNext函数仍然按照arr1数组的顺序递增。例如,如果我按一下按钮,就开始橙色:5然后移动到苹果8等
arr2 = [
{orange:5, alpha},
{apple: 8 , beta},
{banana: 3, kappa},
{grape: 10 , sigma},
{apple: 1 , tango}
]
我已经试过 我的思想过程中完成,这是使用findIndex()函数并将arr2项目与arr1项目相匹配。这不起作用,但也许我构思错了?
clickNext(){
var oldIndex = filteredToXs(scope.selected);
scope.selected = oldIndex + 1;}
function filteredToXs(filteredIndex) {
var firstArr = scope.arr1[ filteredIndex ];
var xsIndex = scope.arr2.findIndex(function(item) {
return item.trackingNumber === firstArr.trackingNumber;
});
if(xsIndex >= 0) return xsIndex;
if(xsIndex === -1) return 0; // Default value
}
为什么你不只是用我听不懂第二个数组直接。试图在它们之间交叉引用的期望好处是什么? – nnnnnn
为了简单起见,在示例中。它在代码中被映射出来,但为了引用目的,数组必须是分开的。 –