尽管对象相同,indexOf返回-1

时间:2018-03-07 17:43:37

标签: javascript arrays angular object indexof

我有一个对象,我存储单词,发音,类型,描述用法和收藏数量。

Words: {
  word: string,
  pronunciation: string,
  type: string,
  description : string,
  usage: string,
  favorites: number
}[] = [];

首先,我将单词从本地存储中取出并将它们分配给新对象。

然后我按照收藏夹对这些单词进行排序,因此最喜欢的单词在列表中排名第一。

this.storage.get('words').then((val) => {
  this.Popular = val;
  this.Popular.sort(function (a,b) {return b.favorite - a.favorite});
}

当用户点击我想要在原始未分类对象中获取该单词的索引时。

所以我再次将原始对象从存储中取出。

然后我试图用 indexOf来获取单词的原始id,但我总是得到-1 ,尽管所选单词在原始对象中。

this.storage.get('words').then((val) => {
  this.Words = val;
  var index = this.Words.indexOf(selectedWord);
  console.log(index);
}

selectedWord是从排序列表中选择的单词:

Word: {
  word: string,
  pronunciation: string,
  type: string,
  description : string,
  usage: string,
  favorites: number
}

我做错了什么?如何从原始未排序对象中获取所选单词的索引?

0 个答案:

没有答案