【问题标题】:Angular2,Typescript:How to insert a key:value pair at a PARTICULAR index in an array?Angular2,Typescript:如何在数组中的特定索引处插入键:值对?
【发布时间】:2017-11-08 18:19:39
【问题描述】:

我想在数组的特定索引处插入一个键值对。我该怎么做?

这是我目前的代码:

  this.quiz.push(
{
  "question-no":this.no,
  "Ans":this.ans
}

我需要它,因为这是存储用户针对特定问题选择的选项。因此,如果用户更改了选择,则必须在该特定位置(数组的索引)替换它。但是现在正在创建一个新元素。但我希望它替换现有的元素。 但我不知道如何在特定索引处插入它。有人可以帮我吗?

提前致谢。

【问题讨论】:

    标签: arrays object typescript key-value angular2-directives


    【解决方案1】:

    您需要使用splice 函数在特定索引处插入。

    this.quiz.splice(insertIndex, 0, newItem);
    

    希望对你有帮助!!

    【讨论】:

    • 非常感谢它适用于单个元素,但是如何使用 splice() 存储键:值对?
    • @Impromptu_Coder,您需要有一个对象作为键:值对。例如: var newItem = { "test": "test" }
    • 非常感谢。你能检查一下吗?我需要帮助。 stackoverflow.com/questions/44455814/…
    • 是的,我会看看的。但你似乎不接受你的问题的答案。
    【解决方案2】:

    如果您想简单地替换特定索引处的现有元素:

    this.quiz[index] = {
      "question-no":this.no,
      "Ans":this.ans
    };
    

    例如:

    this.quiz[4] = {
      "question-no":this.no,
      "Ans":this.ans
    };
    

    请注意,索引 4 处的任何内容都将消失。

    【讨论】:

      【解决方案3】:

      尝试在指定索引处使用arr.splice(index, 0, item);,0项将被删除。

      【讨论】:

      • 非常感谢。你能告诉我如何使用 splice() 存储键值对吗?
      • 你的意思是这样吗? :let item = {"key":"value"}; arr.splice(index, 0, item);
      • 如果这个答案对你有用,请你批准:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 2019-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多