Javascript объект массива в строку - PullRequest
0 голосов
/ 14 марта 2019

Если у меня есть массив объектов:

array=[
  {
    "Item": "A"
    "Quantity" : 2
  },
  {
    "Item": "B"
    "Quantity" : 7
  },
  {
    "Item": "C"
    "Quantity" : 1
  }
]

Мне интересно, какие будут мои варианты, чтобы получить следующую строку:

(A, 2), (B, 7), (C,1)

Ответы [ 4 ]

3 голосов
/ 14 марта 2019

Это не самый элегантный способ сделать это, но его легко понять:

array = [{
    "Item": "A",
    "Quantity": 2
  },
  {
    "Item": "B",
    "Quantity": 7
  },
  {
    "Item": "C",
    "Quantity": 1
  }
];

var str = "";
for (var a = 0; a < array.length; a++) {
  str += "(";
  str += array[a].Item + ",";
  str += array[a].Quantity + ")";
  if (a != array.length - 1) {
    str += ",";
  }
}
console.log(str);
1 голос
/ 14 марта 2019

Вы можете отобразить значения и соединить их.

var array = [{ Item: "A", Quantity: 2 }, { Item: "B", Quantity: 7 }, { Item: "C", Quantity: 1 }],
    string = array
        .map(({ Item, Quantity }) => `(${[Item, Quantity].join(', ')})`)
        .join(', ');
    
console.log(string);
0 голосов
/ 14 марта 2019

Вы можете map Object.values и join следующим образом:

  • Циклировать по массиву, используя map
  • Object.values(a) возвращает массив, подобный следующему: ["A", 2]
  • join их использование и обтекание () вокруг с использованием литералов шаблона
  • присоединение полученного массива строк из map с использованием другого join

const array = [
  {
    "Item": "A",
    "Quantity" : 2
  },
  {
    "Item": "B",
    "Quantity" : 7
  },
  {
    "Item": "C",
    "Quantity" : 1
  }
]

const str = array.map(a => `(${ Object.values(a).join(", ") })`)
                 .join(", ")
                 
console.log(str)

Если у вас все в порядке с (A,2), (B,7), (C,1) без пробела между ними, вы можете просто использовать

const array=[{"Item":"A","Quantity":2},{"Item":"B","Quantity":7},{"Item":"C","Quantity":1}]

const str = array.map(a => `(${ Object.values(a) })`).join(", ")
console.log(str)
0 голосов
/ 14 марта 2019

Вы можете использовать

array.map(function(item){ return "(" + item.Item + "," + item.Quantity + ")"}).join(",");

var array=[
  {
    "Item": "A",
    "Quantity" : 2
  },
  {
    "Item": "B",
    "Quantity" : 7
  },
  {
    "Item": "C",
    "Quantity" : 1
  }
];
var result = array.map(function(item){ return "(" + item.Item + "," + item.Quantity + ")"}).join(",");
console.log(result);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...