如何使用数组过滤器替换值?我有一个包含这样的数组:
this.detailsToDisplay = [{key: "key1", value: "value1"},{key: "key2", value: "value2"},{key: "key3", value: "value3"},{key: "key4", value: "value4"},]
然后我尝试用索引3替换索引0中的那个:
this.newValue1 = this.detailsToDisplay.filter(data => data.key === "key3");
this.detailsToDisplay[0].value = this.newValue1[0].value;
虽然这很好,但如果[0]
不恒定怎么办?如何在不明确调用其数组位置的情况下动态地将key3
的值分配给key1
?
答案 0 :(得分:0)
我知道你特别询问过使用Array.filter
但这里不需要它:
this.detailsToDisplay.find(data => data.key === "key1").value = this.detailsToDisplay.find(data => data.key === "key3").value;
答案 1 :(得分:0)
搜索来源和目标。
this.source = this.detailsToDisplay.filter(data => data.key === "key3");
this.target = this.detailsToDisplay.filter(data => data.key === "key1");
if (this.source.length && this.target.length)
this.target[0].value = this.source[0].value;