【问题标题】:Return the index of a giving string in an array in Javascript返回 Javascript 数组中给定字符串的索引
【发布时间】:2021-01-13 02:18:26
【问题描述】:

我是 javascript 的新手,但是,由于我正在使用一些箭头函数,我不明白为什么我编写的这段代码不起作用。这里的想法是创建一个函数,该函数在找到第二个参数时返回一个带有索引的数组。

const materials = ['Hydrogen','Helium','Lithium','Beryllium'];

function index_same_element_as(){
  return arguments[0].map(argument => is_equal_to(argument, argument[1]))
}

console.log(index_same_element_as(materials,"2"))                      

// expected output: Array [false, false, false, false]

【问题讨论】:

    标签: javascript arrays find element


    【解决方案1】:

    当元素等于第二个参数时,您可以映射数组并返回其索引,否则返回-1。映射后,过滤并拒绝-1的索引

    而且,在比较部分,一定是

    is_equal_to(argument, arguments[1])
    
    // not
    is_equal_to(argument, argument[1])
                                  ^
    

    const materials = ['Hydrogen', 'Helium', 'Lithium', 'Beryllium'];
    
    function is_equal_to(x, y) {
      return x === y
    }
    
    function index_same_element_as() {
      return arguments[0]
        .map((argument, index) => is_equal_to(argument, arguments[1]) ? index : -1)
        .filter(index => index !== -1)
    }
    
    console.log(index_same_element_as(materials, "2"))
    console.log(index_same_element_as(materials, "Lithium"))

    【讨论】:

      【解决方案2】:
      const materials = ['Hydrogen','Helium','Lithium','Beryllium'];
      
      const index_same_element_as = (list, searchItem) => {
        return list.map(item => item === searchItem)
      }
      
      console.log(index_same_element_as(materials,"2"))
      

      或者你可以试试这个。

      const materials = ['Hydrogen', 'Helium', 'Lithium', 'Beryllium'];
      
      function index_same_element_as() {
        return arguments[0]
          .map((argument, index) => argument === arguments[1])
      }
      
      console.log(index_same_element_as(materials, "2"))
      console.log(index_same_element_as(materials, "Helium"))
      

      【讨论】:

      • 也许可以解释一下这是如何工作的。我不确定这是如何回答这个问题的。
      猜你喜欢
      • 2012-05-06
      • 1970-01-01
      • 1970-01-01
      • 2021-01-12
      • 1970-01-01
      • 2014-03-02
      • 2012-01-22
      • 2021-04-16
      • 1970-01-01
      相关资源
      最近更新 更多