{nativescript} 索引数组
{nativescript} indexOf array
我有一个如下所示的数组。当我使用 this.itemsgroupcustomer.indexOf("Perorangan")
时,它 return -1。我不知道为什么这是错误的。请帮忙
viewModel.itemsgroupcustomer = [
{title: "Perusahaan"},
{title: "Perorangan"}
];
改用Array.prototype.find,它return是通过测试的元素:
const arr = [
{title: "Perusahaan"},
{title: "Perorangan"}
]
console.log(arr.find(el => el.title === 'Perorangan'))
然后您可以使用 return 值在数组中找到它的索引
const arr = [
{title: "Perusahaan"},
{title: "Perorangan"}
]
const filteredElement = arr.find(el => el.title === 'Perorangan')
console.log(arr.indexOf(filteredElement))
更新:
正如用户@zerkms 指出的那样,有一个内置方法可以一步完成上述操作,它是 Array.prototype.findIndex
const arr = [
{title: "Perusahaan"},
{title: "Perorangan"}
]
console.log(arr.findIndex(el => el.title === 'Perorangan'))
使用 findIndex 方法 -
viewModel.itemsgroupcustomer.findIndex(x=>x.title==='Perorangan');
我有一个如下所示的数组。当我使用 this.itemsgroupcustomer.indexOf("Perorangan")
时,它 return -1。我不知道为什么这是错误的。请帮忙
viewModel.itemsgroupcustomer = [
{title: "Perusahaan"},
{title: "Perorangan"}
];
改用Array.prototype.find,它return是通过测试的元素:
const arr = [
{title: "Perusahaan"},
{title: "Perorangan"}
]
console.log(arr.find(el => el.title === 'Perorangan'))
然后您可以使用 return 值在数组中找到它的索引
const arr = [
{title: "Perusahaan"},
{title: "Perorangan"}
]
const filteredElement = arr.find(el => el.title === 'Perorangan')
console.log(arr.indexOf(filteredElement))
更新:
正如用户@zerkms 指出的那样,有一个内置方法可以一步完成上述操作,它是 Array.prototype.findIndex
const arr = [
{title: "Perusahaan"},
{title: "Perorangan"}
]
console.log(arr.findIndex(el => el.title === 'Perorangan'))
使用 findIndex 方法 -
viewModel.itemsgroupcustomer.findIndex(x=>x.title==='Perorangan');