zoukankan      html  css  js  c++  java
  • 数组 练习题 而已

    //如果数组中存在 item,则返回元素在数组中的位置,否则返回 -1
    
    function indexOf(arr, item) {
        if(Array.prototype.indexOf){
            return arr.indexOf(item)
        }else{
            for(var i=0;i<arr.length;i++){
                
                if(arr[i] === item){
                    return i;
                }
            }        
        }
        return -1
       
    }
    
    indexOf([ 1, 2, 3, 4 ], 3)

      

    //移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果
    //返回新的数组 
    
    function remove(arr, item) {
        var res = [];
        for(var i=0;i<arr.length;i++){
             if(arr[i]!==item){
                 res.push(arr[i]);
             }
        }
        return res;
    }
    
    remove([1, 2, 3, 4, 2], 2)
    //移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行
    //操作,并将结果返回
    
    function removeWithoutCopy(arr, item) {
        for(var i=0;i<arr.length;i++){
            if(arr[i] == item){
                arr.splice(i,1)
                i--;
            }
           
        }
         return arr
    }
    //合并数组 arr1 和数组 arr2。不要直接修改数组 arr,结果返回新的数组 
    
    function concat(arr1, arr2) {
        var res = [];
        if(arguments.length>0){
            for(var i=0;i<arguments.length;i++){
                if(arguments[i] instanceof Array){
                    res.push(arguments[i])
                }
            }        
        }
        return res.join(',').split(',')
    }
    //在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回
    //新的数组 
    
    function insert(arr, item, index) {
        var a = [].concat(arr)
        a.splice(index, 0, item)
        return a
    }
    //统计数组 arr 中值等于 item 的元素出现的次数 
    
    function count(arr, item) {
        var num = [];
        for(var i=0;i<arr.length;i++){
            if(arr[i] == item){
                num.push(arr[i])
            }        
        }
        return num.length;
        
    }
    //找出数组 arr 中重复出现过的元素 
    
    function duplicates(arr) {
        var res = [];
        var db = [];
        for(var i=0;i<arr.length;i++){
            if(!db[arr[i]]){
                db[arr[i]] = 1;
                continue;
            }else{
                db[arr[i]]++;
            }
        }
        
        for(var j=0;j<db.length;j++){
            if(db[j]>1){
                res.push(j)
            }
        }
        
        return res
    }
  • 相关阅读:
    poj 2488 DFS
    畅通工程 并查集模版
    KMP 模板
    poj 1426 DFS
    poj 2528 线段数
    poj 3468 线段数 修改区间(点)
    CVPR2012文章阅读(2)A Unified Approach to Salient Object Detection via Low Rank Matrix Recovery
    如何制定目标
    Saliency Map 最新综述
    计算机视觉模式识别重要会议杂志
  • 原文地址:https://www.cnblogs.com/vali/p/7086655.html
Copyright © 2011-2022 走看看