【问题标题】:Attaching Dynamic Variable in ES6 [closed]在 ES6 中附加动态变量
【发布时间】:2021-10-01 03:41:36
【问题描述】:

我在 ES6 中使用 find 方法时附加动态变量时遇到问题。请在下面检查我的代码。我需要附加productValue。这不可能吗?

const productValue = 1;

products.find((item => item.option[productValue] === 'food'))

【问题讨论】:

  • 您能否在问题中包含products
  • @Majed Badawi。 products 只是一个数组
  • 这不是附加权。您正在检查 item[i][1] 是否等于食物。请添加一些示例数据和预期输出以清除此问题。
  • 我猜你需要包含产品数组的样本
  • @Joseph 请显示您的输入数组和您的预期输出,如果没有这些信息,不清楚您到底想做什么

标签: javascript ecmascript-6


【解决方案1】:

这不是在数组中查找的正确用法。看样例:

products = ["vegetable", "food", "test"];
const productValue = 1;

var res = products.find((item => console.log(item)));

现在看看这个:

products = ["vegetable", "food", "test"];
const productValue = 1;

var res = products.find((item => console.log(item[1])));

看到你正在使用"vegetable"[1],它是每个字符串的第一个字符

如果products[productValue] == "food"; 或者您想通过索引查找使用findIndex,那么您很容易知道索引。

更新

在与 OP 聊天后,我了解到他想将 productValue 附加到产品键值之一(option 即字符串),因此您需要使用 + 运算符:

products.find((item => (item.option + productValue) === 'food'))

【讨论】:

  • 我没有找到或添加索引。我只想将 productValue 附加到 item.option
  • 你说产品是字符串数组!好的,您有一组对象,其中一个键是选项?对吗?
  • 是选项是关键
  • @Joseph 好的,您想将 productValue 添加到数组的所有选项中吗?还要显示您的问题的输入和输出以使其有意义
  • 这已经对了。products.find((item => item.option === 'food'))。我只想将它附加到item.option
【解决方案2】:

您可以使用索引参数来检查数组中的特定项目是否等于某个值。

样本:

const productValue = 1;
const products = ['beverages', 'food'];
console.log(products.find((item, index) => index === productValue && item === 'food'));

【讨论】:

    【解决方案3】:

    const products = ["vegetable", "food", "test"];
    const productValue = 1;
    
    const updatedFruits = products.map(product => {
      if(product === "food"){
        return product + productValue
      }
      return product;
    });
    
    console.log(updatedFruits)

    【讨论】:

      猜你喜欢
      • 2015-11-14
      • 1970-01-01
      • 1970-01-01
      • 2019-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-26
      • 1970-01-01
      相关资源
      最近更新 更多