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
爲了簡單起見,在示例中。它在代碼中被映射出來,但爲了引用目的,數組必須是分開的。 –