js配列は同じ要素を削除します

JavaScript配列(配列)は同じ要素を削除します

var arr=[2,3,2,5];//定义一个数组里面有重复的元素
var nll=[];	//定义一个空数组用来存储删除之后的元素
for(var i=0;i<arr.length;i++){
    
    
	//因素讲解:从一个数组找一个元素的索引值,它是从左到右的顺序来找的,如果元素有重复的,他就只找到,重复的元素中的第一个元素的下标,返回,然后结束不往下找了。所以如果元素有重复的,他返回的是重复元素中的第一个元素的索引值,理解这段话之后,我们来看看下边的代码。
    if(arr.indexOf(arr[i])==i){
    
    
        nll.push(arr[i])
    }
}
console.log(nll);
/*执行步骤1:从i=0,进入循环,if条件里面的arr.indexOf(arr[i]),i是等于0的,那么arr.indexOf(arr[0])的值是找他的索引值,他的索引值就是0,==后面的那个i也是0,他俩相等,所以在nll.push(arr[i]),就是在nll,数组后面添加一个新的元素arr[0]
    执行步骤2:从i=1,进入循环,if条件里面的arr.indexOf(arr[i]),i是等于1的,那么arr.indexOf(arr[1])的值是找他的索引值,他的索引值就是1,==后面的那个i也是0,他俩相等,所以在nll.push(arr[i]),就是在nll,数组后面添加一个新的元素arr[1]
    执行步骤3:从i=2,进入循环,if条件里面的arr.indexOf(arr[i]),i是等于2的,那么arr.indexOf(arr[2])的值是找他的索引值,那么问题就涉及到了,上面的因素讲解,查询一个数的索引值,他是从左往右一 一 查询,只要查询到了,就不往下查询了,也就是说查询重复的元素只返回重复元素的第一个元素的索引值,那他的索引值查的就是第一个2,他的下标是就是0,==后面的那个i是等于2的,所以,arr.indexOf(arr[2])是==0,i是==2,0!=2所以if条件不成立,不往nll数组里面添加。
   .....*/


JavaScript配列(配列)出力に重複する要素があります

var arr=[2,3,2,5];//定义一个数组里面有重复的元素
var nll=[];	//定义一个空数组用来存储删除之后的元素
for(var i=0;i<arr.length;i++){
    
    
	//因素讲解:跟上面的因素一样。
    if(arr.indexOf(arr[i])!=i){
    
     //这里只是把等于号改成了,!=,上面的是删除重复的,这个输出重复的,执行步骤跟上面的一样,不理解跟着上面的,执行步骤带一遍就理解了。
        nll.push(arr[i])
    }
}
console.log(nll);

おすすめ

転載: blog.csdn.net/weixin_46475440/article/details/108770157
おすすめ