收藏
回答

写函数咱们能声明数据的类型?

下面的结构中,val为数字字符串时都能调用成功,但是val为数组时,输出就是undefined


function getIndex(val,arr){

  for(var i=0;i<arr.length;i++)

  {

    if(arr[i]==val){

      var index=i;

      break

    }

  }

  return index

}




回答关注问题邀请回答
收藏

1 个回答

  • c
    c
    2021-01-14

    数组和对象是不能直接比较的 如果val是其中之一,比较时会一直是false 然后return 就是未定义了。

    2021-01-14
    有用
    回复 3
    • Soda-
      Soda-
      发表于移动端
      2021-01-14
      我传的val是数组,arr的元素也是数组, 比如我的val是[1,2]。 arr是[[1,2],[1,3]]
      2021-01-14
      回复
    • Soda-
      Soda-
      发表于移动端
      2021-01-14
      意思是说 数组和数组也没法比大小,懂了 也就是说循环里面再套一个循环按元素比较就可以
      2021-01-14
      回复
    • c
      c
      2021-01-14回复Soda-
      你那进入函数要判断类型,然后根据类型进行判断,数组最简单的对比方法是用json转为字符串在对比(可以先排序下。)
      2021-01-14
      回复
登录 后发表内容
问题标签