{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');