我有我的目标:
struct Person {
var name = ""
var age = 0
}
我已将一些人添加到数组中:
let p1 = Person(name: "Tony", age: 10)
let p2 = Person(name: "Lisa", age: 20)
let p3 = Person(name: "Anna", age: 30)
let p4 = Person(name: "Morgan", age: 40)
let p5 = Person(name: "Jane", age: 50)
let persons = [p1, p2, p3, p4, p5]
我想要所有的名字在一个单独的数组,但我不想这样做nameArray.append(p1.name)
...还有别的办法吗?
匿名用户
使用map
功能:
let names = persons.map { $0.name }
这可能看起来像魔法,所以让我们扩展一下,看看到底发生了什么:
let names = persons.map ({
person in
return person.name
})
这里发生的是map
将“转换”应用于数组中的每个Person
。您可以通过向map
函数传递闭包来指定要执行的转换。这里你说“当你给我一个人的时候,我还给你这个人的名字”。看到这里的转变了吗?我们把一个人变成了一个名字<代码>映射自动将其应用于数组中的每个项,并将所有转换结果附加到新数组中。
您可以简单地映射
名称:
let names = persons.map({ $0.name }) // ["Tony", "Lisa", "Anna", "Morgan", "Jane"]
我有这个初始数组,希望根据和提取重复航班 我写了这个,但我只能得到第一个重复的,看起来不是很漂亮。 有什么建议吗?
我在开快车。js应用程序,有几个API将数据提供给下拉框。返回的数据格式为: 其中key是我的选项key,value是显示文本。这个数组的结构是固定的,我知道一个事实,我总是将key和value作为数组中每个对象的字段。 当我尝试验证提交的表单(额外的服务器端验证)时,我想交叉引用为字段提供的值与数组中“key”的所有值(blah、foo、bar、baz)。鉴于这将是一个经常使用的路由,我想避免每
为什么我不能得到数组中给定对象的索引? 期望的结果显然是2…
我有一个数据就像 我想使用ES6高阶函数获得每个对象的名称,而不使用for或foreach。 我尝试过和但不知道何时使用什么
问题内容: 我有一个JSON文件,其中包含一些我想在AngularJS网站上访问的数据。现在,我要从数组中仅获取一个对象。因此,我想例如ID为1的商品。 数据如下所示: 我想使用AngularJS $ http功能加载数据,如下所示: 这正在工作。但是,现在如何从获取的数组中获取特定的数据对象(按ID)呢? 在此先感谢您的帮助。 马克·马克 问题答案: 唯一的方法就是遍历数组。显然,如果您确定结果
问题内容: 我想以jQuery或纯JavaScript的形式获取JavaScript对象的键作为数组。 有没有比这更详细的方法? 问题答案: 用途: 这是ES5的功能。这意味着它可以在所有现代浏览器中使用,但不能在旧版浏览器中使用。 ES5-shim有一个实现可以偷