首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从对象返回值?

如何从对象返回值?
EN

Stack Overflow用户
提问于 2019-04-20 21:11:05
回答 3查看 41关注 0票数 0

有一个接受数组参数的函数。对我来说,通过符号"-“从行中的对象中推导出值是必要的。例如:“宝马-55 000-德国-高度”,“三菱-93 000-酒吧约翰-3-日本”,“梅赛德斯-奔驰-63 000-德国-高度”。错误在哪里?

代码语言:javascript
复制
const car = [
  {  
    "name":"BMW",
    "price":"55 000",
    "country":"Germany",
    "security":"Hight"
  },
  {  
    "name":"Mitsubishi",
    "price":"93 000", 
    "constructor":"Bar John",
    "door":"3",
    "country":"Japan",
  },
  {  
    "name":"Mercedes-benz",
    "price":"63 000", 
    "country":"Germany",
    "security":"Hight"
  }
 ];


function joinArr(car){
  return Object.values(car).forEach(function(){
     return  car.join("-")      
   });  
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-04-20 21:14:02

您可以使用map遍历数组。使用Object.values将对象转换为数组。

代码语言:javascript
复制
const car = [{"name":"BMW","price":"55 000","country":"Germany","security":"Hight"},{"name":"Mitsubishi","price":"93 000","constructor":"Bar John","door":"3","country":"Japan"},{"name":"Mercedes-benz","price":"63 000","country":"Germany","security":"Hight"}];

function joinArr(car) {
  return car.map(o => Object.values(o).join("-"));
}

var result = joinArr(car);

console.log(result);

票数 2
EN

Stack Overflow用户

发布于 2019-04-20 21:13:52

car不是一个对象,而是一个对象数组。您可能希望映射它(并将car重命名为cars以避免混淆):

代码语言:javascript
复制
 function joinCars(cars) {
   return cars.map(function(car) {
     return Object.values(car).join("-");
   });
 }
票数 1
EN

Stack Overflow用户

发布于 2019-04-20 21:15:09

forEach不返回任何内容-只需使用join

代码语言:javascript
复制
function joinArr(car){
    return Object.values(car).join("-");
}

要对整个数组执行此操作并获取字符串数组,请使用map。还可以考虑重命名参数:

代码语言:javascript
复制
const car = [
  {  
"name":"BMW",
"price":"55 000",
"country":"Germany",
"security":"Hight"
  },
  {  
"name":"Mitsubishi",
"price":"93 000", 
"constructor":"Bar John",
"door":"3",
"country":"Japan",
  },
  {  
"name":"Mercedes-benz",
"price":"63 000", 
"country":"Germany",
"security":"Hight"
  }
 ];


const joinArr = cars => cars.map(car => Object.values(car).join("-"));

console.log(joinArr(cars));

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55773834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档