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
    }
  • 相关阅读:
    Android “swipe” vs “fling”
    Parcel
    ViewConfiguration 和 ViewConfigurationCompat
    Hive记录-配置支持事务管理hive-site.xml
    SQL记录-资源正忙online或nowait
    SQL记录-解锁和dbms_job操作
    Java记录-SpringMVC整合Echarts画地图加散点图
    Hive记录-impala常用命令
    Hive记录-Sqoop常用命令
    Linux记录-shell一行代码杀死进程(收藏)
  • 原文地址:https://www.cnblogs.com/vali/p/7086655.html
Copyright © 2011-2022 走看看