所以,我是一名SQL开发人员,现在发现自己在编写JavaScript,而我完全不知道自己在做什么。我需要查询对象的帮助。假设我有以下对象数组
var addresses = [
{ street: '104 Bob st', city: 'Boringville', state: 'NC' },
{ street: '207 Ted rd', city: 'Quiettown', state: 'NC' },
{ street: '309 Jim ln', city: 'Lameburg', state: 'VA' }
];我需要做一些事情,比如获取州或镇的列表。在SQL中,这只是从地址中选择城市,或者从地址中选择不同州,或者任何您需要做的事情。不过,在JavaScript中你到底该怎么做呢?
发布于 2020-04-17 03:33:26
您可以使用数组的map function,它返回另一个数组:
const result = addresses.map(address => address.state)
console.log(result) // ['NC', 'NC', 'VA']发布于 2020-04-17 03:37:10
您可以使用.map()函数。下面是一些例子:
var addresses = [
{ street: '104 Bob st', city: 'Boringville', state: 'NC' },
{ street: '207 Ted rd', city: 'Quiettown', state: 'NC' },
{ street: '309 Jim ln', city: 'Lameburg', state: 'VA' }
];
var states = addresses.map(a => a.state);
var cities = addresses.map(a => a.city);
var fullAddress = address.map(a => a.street + ', ' + a.city + '/' + a.state);您只需将函数作为参数传递即可。该函数必须为来自数组的每个元素生成一个新值。在我的示例中,a表示数组中的每个元素。箭头(=>)后面的所有内容都是每个元素应该生成的内容。你可以使用操作,调用其他函数...真的什么都行。结果是一个新数组,它具有与原始数组相同的长度,并以相同的顺序包含每个元素的结果。
发布于 2020-04-17 04:14:51
var addresses = [
{ street: '104 Bob st', city: 'Boringville', state: 'NC' },
{ street: '207 Ted rd', city: 'Quiettown', state: 'NC' },
{ street: '309 Jim ln', city: 'Lameburg', state: 'VA' }];
const fullAddress = addresses.map(address => {
return `State: ${address.state}, City: ${address.city}, Street:${address.street}`;
});
console.log(fullAddress);使用模板字符串、对象解构和隐式返回,不需要花括号和返回语句;使用es6更清晰
const fullAddress = addresses.map(({street, city, state}) =>
`State: ${state}, City: ${city}, Street:${street}`);
console.log(fullAddress);https://stackoverflow.com/questions/61258518
复制相似问题