【问题标题】:How to replace the last element of an array如何替换数组的最后一个元素
【发布时间】:2021-08-14 02:36:11
【问题描述】:

我需要替换数组中的最后一个元素。

我知道,我可以使用filter方法替换元素,但是如何替换最新的元素呢?
如何知道元素的索引?
我应该检查数组的大小并替换最新的元素吗?
或者可能删除最新元素并添加新元素?

通常我使用 unshift 添加元素:

this.array.unshift({
    name: cmd.event.type,
    id: cmd.event.id,
    xpath: cmd.event.xpath,
    x: `x: ${xparam}`,
    y: `y: ${yparam}`,
})

我应该怎么做才能替换最新的this.array 元素?

【问题讨论】:

  • this.array[this.array.length - 1] = /* Whatever you want */
  • @GuerricP in Vue 2 这不是反应式的

标签: javascript arrays vue.js


【解决方案1】:

尝试使用splice方法:

this.array.splice(this.array.length - 1, 1, {
        name: cmd.event.type,
        id: cmd.event.id,
        xpath: cmd.event.xpath,
        x: `x: ${xparam}`,
        y: `y: ${yparam}`,
      })

第一个参数:要替换的元素索引

第二个参数:删除计数

第三个参数:你要插入的新元素

对于 Vue 2,您可以使用 this.$set 方法:

 this.$set(this.array,this.array.length - 1,{
    name: cmd.event.type,
    id: cmd.event.id,
    xpath: cmd.event.xpath,
    x: `x: ${xparam}`,
    y: `y: ${yparam}`,
  })

【讨论】:

【解决方案2】:

您可以使用length 属性获取最新的元素索引

 const latestElement = this.array[this.array.length - 1]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    相关资源
    最近更新 更多