按索引过滤对象数组

时间:2019-03-13 11:09:11

标签: javascript html vue.js

我想按索引过滤对象数组。

<ul>
    <li v-for="(list,index) in lists" v-bind:key="index"
    @dblclick="deleteNote(index)">
    {{list.note}    
    </li>
</ul>

列表中充满了imp

个对象
var lists = [];

var imp = {
  note: "bla",
  hinweis: "blub",
  showNotiz: false
};

deleteNote(i) {
  let arr = this.lists.filter(item =>
    item.note !== this.lists[i]
  );

  this.lists = arr;
}

3 个答案:

答案 0 :(得分:2)

我认为这会起作用

deleteNote(i) {
  this.lists = this.lists.filter((_, index) => index !== i);
}

答案 1 :(得分:1)

您需要在过滤器函数中使用第二个参数。

let arr = this.lists.filter( (item, index) =>  
    item.note !== this.lists[index]
);
this.lists = arr;
  

以下是Filter的MDN文档

希望这会有所帮助!

答案 2 :(得分:0)

从外观上,您要按索引删除项目吗?

deleteNote(i) {
  this.lists.splice(i, 1);
}

以上代码段应修改现有数组并删除所需索引处的一个元素。

MDN: Array.prototype.splice()

相关问题