根据值获取在数组中对应的下标
getArrayIndex(arr: any, obj: any) {
let i = arr.length;
while (i--) {
if (arr[i] === obj) {
return i;
}
}
return i;
}
这里的:any是ts代码规则可以省去
arr:对应的数组
obj:对应的具体值
例子:
getArrayIndex(arr: any, obj: any) {
let i = arr.length;
while (i--) {
if (arr[i] === obj) {
return i;
}
}
return i;
}
mounted() {
let arr = ['A', 'B', 'C', 'D', 'E'];
// 获取 E 在arr中的下标
let i = this.getArrayIndex(arr, 'E');
console.log(arr);
console.log(i);
}
获取到E在arr数组中的对应下标 为 4
那如果是要同时获取 A,B,C,D,E的下标呢 这里也好处理 循环一下就可以了
也就是说可以同时获取多个属性值得下标 也就是传递数组进去就可以了
mounted() {
let arr = ['A', 'B', 'C', 'D', 'E'];
let index_arr: any = [];
arr.forEach((item: any) => {
let index = this.getArrayIndex(arr, item);
index_arr.push(index);
});
console.log(index_arr);
}
拿到我们想要的下标就可以做很多事情了
就比如 我要在下面的数组中获取 2015016,20151023下标对应的0.1629…,0.0564…这两个值就可以先获取到2015016,20151023的下标 在根据下标取获取0.1629…,0.0564…
这里在提供相应根据下标的获取具体的方法
getAarryByIndex(index: any, Aarry: any) {
let data = index.map((item: any) => {
return Aarry[item];
});
return data;
}
业务实际需求千变万化 不喜勿喷 这里主要跟大家分享 如何根据对应属性获取所对应的下标!