我们需要编写一个函数,说它getIndex()
接受一个数组arr,一个字符串/数字文字txt和一个Number n。我们不得不返回的第n个出现的指数TXT的编曲,。如果txt没有出现n次,那么我们必须返回-1。
因此,让我们为此编写函数-
const arr = [45, 76, 54, 43, '|', 54, '|', 1, 66, '-', '|', 34, '|', 5, 76]; const getIndex = (arr, txt, n) => { const position = arr.reduce((acc, val, ind) => { if(val === txt){ if(acc.count+1 === n){ acc['index'] = ind; }; acc['count']++; } return acc; }, { index: -1, count: 0 }); return position.index; }; console.log(getIndex(arr, '|', 3)); console.log(getIndex(arr, 54, 2)); console.log(getIndex(arr, '-', 3));
输出结果
控制台中的输出将为-
10 5 -1