【问题标题】:changing the values in an array using foreach Javascript使用 foreach Javascript 更改数组中的值
【发布时间】:2015-07-25 19:25:49
【问题描述】:

我正在使用 javascript 处理 foreach,我想知道如何将其旧值替换为数组中的新值。

假设我有这个数组

var myArray = [];

然后我有这个变量来存储值

var name = [{name: "Peter"}, {name:"Jimmy"}, {name: Bob}];
var country = [{country: "Canada"}, {country:"Mexico"}, {country: "United States"}];

在我推送数组并将其显示到视图后,我应该在表格中有这样的内容:

Name:    Country:
Peter     Canada
Jimmy     Mexico
Bob       United States

然后我还有编辑按钮,这样我就可以编辑表格中的内容了

Name:    Country:
Peter     Canada
Jimmy     Mexico
Bob       United States
<button ng-click="editDetail()">Edit Button </button>

我想要做的是,我想要更改能够将旧内容替换为表格中的新内容并将其保存回数组。

Name:    Country:
Amy       Britian
Jimmy     Spain
Ken       United States

如何使用 foreach 方法来做到这一点?我不确定在这个 foreach 函数中要做什么。帮助将不胜感激:)

myArray.foreach(function(){


})

【问题讨论】:

  • 为什么不从只保存一条数据开始呢?那你就foreach (pieceofdata) mysavefunction(伪代码)
  • 是的,为什么一开始你没有一个包含所有相关数据的对象数组? var datas = [{name: "Peter", country: "Canada"}, {name:"Jimmy", country: "Spain"}];
  • @Jan,你的意思是先把 Canada 改为 British First,然后再 foreach (country) 开始?
  • @A.Wolff,我想你可以这样做,但不是一样吗?
  • 我的意思是,开始创建逻辑来更改一个数据(例如加拿大到英国)。然后,当您拥有该逻辑时,您可以循环遍历所有数据的逻辑。

标签: javascript arrays foreach


【解决方案1】:

您要做的不是使用forEach,而是使用map,这本质上是相同的,但是您将返回一个新数组,其中新数据替换旧数据。

Mozilla Docs

var myNewArray = myArray.map(function(d) {
   return d;
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-08
    • 2021-11-26
    • 2012-09-11
    • 1970-01-01
    • 1970-01-01
    • 2015-08-02
    • 2019-10-10
    • 1970-01-01
    相关资源
    最近更新 更多