Trouble with forEach



我有这个数组:

items = []
items[0] = {id: "805", category: 'Apple'}
items[1] = {id: "804", category: 'Watermelon'}
items[2] = {id: "804", category: 'Plum'}

和foreach,当我获得category value时。

var result = '';
items.forEach(function(item) {
result += item.category;
});
console.log(result);    

但是问题在于,在控制台中。logi得到 Apple, Watermelon, Plum,var结果给了我。我如何在控制台中获得这样的输入 -

Apple
Watermelon
Plum  

您只需要做:

items = []
items[0] = {id: "805", category: 'Apple'}
items[1] = {id: "804", category: 'Watermelon'}
items[2] = {id: "804", category: 'Plum'}
items.forEach(function(item) {
  console.log(item.category);
});

如果要添加新线:

const items = [
  {id: "805", category: 'Apple'},
  {id: "804", category: 'Watermelon'},
  {id: "804", category: 'Plum'}
];
let result = '';
items.forEach(function(item) {
  if (result) result += 'n';
  result += item.category;
});
console.log(result);

但是,当在数组上迭代以在末端产生单个值时,使用.reduce更合适:

const items = [
  {id: "805", category: 'Apple'},
  {id: "804", category: 'Watermelon'},
  {id: "804", category: 'Plum'}
];
const result = items.reduce((resultSoFar, item) => {
  if (resultSoFar) resultSoFar += 'n';
  resultSoFar += item.category;
  return resultSoFar;
}, '');
console.log(result);

末尾添加 'n'

items = []
items[0] = {id: "805", category: 'Apple'}
items[1] = {id: "804", category: 'Watermelon'}
items[2] = {id: "804", category: 'Plum'}
var result = '';
items.forEach(function(item) {
  result += item.category+'n';  //add 'n' at the end
});
result=result.substr(0,result.length-1);  // remove last character(which is 'n')
console.log(result);

    items = []
    items[0] = {id: "805", category: 'Apple'}
    items[1] = {id: "804", category: 'Watermelon'}
    items[2] = {id: "804", category: 'Plum'}
    var result = '';
    items.forEach(function(item)
    {
      result += item.category + 'rn';
    });
    
    console.log(result);

在您的情况下,您将使用mapjoin的组合。map创建一个数组,该数组仅包含category的值,而join将将这些值连接在一起。

items = [
   {id: "805", category: 'Apple'},
   {id: "804", category: 'Watermelon'},
   {id: "804", category: 'Plum'}
]
var result =  items.map(item => item.category).join('n')
console.log(result)

    items = []
    items[0] = {id: "805", category: 'Apple'}
    items[1] = {id: "804", category: 'Watermelon'}
    items[2] = {id: "804", category: 'Plum'}

    var result = '';
    items.forEach(function(item) {
        result += item.category;
    });
   console.log(result);

使用上述代码。错误是DSCR属性

最新更新