【问题标题】:Displaying mixed arrays in computed method在计算方法中显示混合数组
【发布时间】:2018-07-19 12:33:03
【问题描述】:

我有一个计算方法可以让我显示一些数据:

  productsSpecification() {
    var names = [];
    var numbers = [];
    this.cart.items.forEach(function(item) {
      names += "Item: " + item.product.name + " -";
      numbers += " Amount: " + item.quantity + ", ";
    });
    var together = names + numbers;
    return together;
  }

我想按顺序显示元素:'names' 数组中的元素 + 'numbers' 数组中的元素:'Item: item1 - Amount: 1'

【问题讨论】:

  • 你会使用 ES6 吗?
  • 是的,我用的是webpack,但是问题已经解决了。

标签: javascript vue.js computed-properties


【解决方案1】:

你可以这样映射它:

productsSpecification() {
  return this.cart.items.map(function(item) {
    return `Item: ${item.product.name} - Amount: ${item.quantity}`; // or "Item: " + item.product.name + " - Amount: " + item.quantity;
  }).join(', ')
}

【讨论】:

  • 可能应该注意模板字符串是 ES6,以防网站需要向后兼容。
  • 您也可以根据需要缩短它:return this.cart.items.map(({ quantity, product: { name } }) => `Item: ${name} - Amount: ${quantity}`).join(', ')
  • 我还有另一个计算方法,所以我可以添加我所有的item.quantity,我正在尝试以您建议的方法显示它:return Item: ${item.product.name} - Amount: ${item.quantity} - Total Amount: ${this.quantityTotal},但它不起作用。
  • @kabugh 不是this,是item
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 2021-08-31
  • 2018-01-12
  • 1970-01-01
  • 2012-11-18
相关资源
最近更新 更多