filter():对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组。item.indexOf("a")的结果是0,即false,那么为什么return item.indexOf("a");的时候最终的返回结果却只排除了数组中的“a”?求高手指教!!!

解决方案 »

  1.   

    第一次调用函数时item的值是字符串"a", item.indexOf("a")返回0(也就是"a"在字符串的0索引位置),0会被当作false,也就不添加进数组中
    第二次调用函数时item的值是字符串"b", item.indexOf("a")返回-1(也就是"a"不在字符串中),-1会被当作true,也就添加进数组中
    第三次调用函数时item的值是字符串"c",同第二次的情况。后面也一样。
      

  2.   

    转换Boolean值的时候除了  0  被 认为是false ,其他的都是true,
    字符串 除了 空字符串 其他都是true ," " 像这种也是返回true