我的标题是两个问题:
第一个:关于从一个js文件中需要弹出一个对话框,显示提示信息,但是在别的页面调用的时候,就成了乱码了,要怎么办呢?第二个:有两个数组,一个有值,一个没有;有值的那个可能有重复的,如果把一个有值的数组的内容取出并添加给另一个数组,新的到的数组是一个没有重复项的,主要表明的意思就是:选出有值的数组的不重复项

解决方案 »

  1.   

    第一个问题不懂什么意思,你最好有源码什么的,
    第二个问题写了一个没测 ,大概是这个意思function clearRepeat(arr){
      var a=[] var b={}
      for(var i=0,j=arr.length;i<j;i++){
         if(!b[arr[i]]){
            b[arr[i]]=1;
            a.push(arr[i]);
        }
      }
      return a;
    }
      

  2.   

    第二个参考
    http://topic.csdn.net/u/20090708/11/a3c3ea03-23a2-4d94-85e3-838bbdf1b451.html
      

  3.   

    第二个数组是空的,length是0,所以,第二个循环根本就不进
      

  4.   

    循环第二个干嘛,js的数组是动态的 不用定义长度。所以可以随时往里添加数据。
    再说1楼的循环次数取得时你有数据的数组的长度。人家通过if(!b[arr[i]])判断元素是不是重复,不重复才往第二个数组里添加数据。
      

  5.   


    用!b[arr[i]]的方式判断不严谨, 假如Object的Prototype被改写了, 则有可能导致结果不正确
    方式是对的, 我建议用 if (!b.hasOwnProperty(arr[i]))
      

  6.   

    1、弹出乱码:将你的js或是html也就是带有弹窗口的乱码的那个文件,用记事本打开,然后另存为选择
    编码方式utf-8的即可
    2、过滤重复数据
    首先将你的arr赋给空数组,然后删除刚才赋值后空数组的arr中的重复数据即可
    http://topic.csdn.net/t/20061116/17/5163708.html