• js基础4 — 数组操作


    1. 数据基本操作方法
    <script type="text/javascript"> "use strict"; var console = window.console; var a = ['a', 'b', 'c']; var b = ['x', 'y', 'z']; var c = a.concat(b, false); console.log('1.' + a); // ['a','b','c']; console.log('1.' + c); // ['a','b','c','x','y','z',false]; var a = ['a','b','c']; var b = ['x','y','z']; var c = a.push(b, true); console.log('2.' + a); // ['a','b','c',['x','y','z'],true]; console.log('2.' + c); // 5 返回数组的长度 //扩展: //若要把两个两个数组合并,使用apply()方法; // var d = a.push.apply(a,b); // var e = a.push(b); // console.log(a); // console.log(e); var n = ['123', '23', '32', 'a', 'aa']; n.sort(); console.log('3.' + n); var n = ['123', '23', '32', 'a', 'aa']; n.sort(function(a,b) { return a-b; // }); console.log('4.' + n); //["23", "32", "123", "a", "aa"] // 扩展: var scores = [1, 10, 21, 2]; scores.sort(); //console.log(scores); // [1, 10, 2, 21] // 注意10在2之前, // 因为在 Unicode 指针顺序中"10"在"2"之前 var things = ['word', 'Word', '1 Word', '1 Word3', '2 Words']; things.sort(); //console.log(things); // ['1 Word', '2 Words', 'Word', 'word'] // 在Unicode中, 数字在大写字母之前, // 大写字母在小写字母之前.字母短的在字母串长的前面 var y = [5,8,3,10]; var f = y.some(function(v){ return v>7; }); console.log('5.' + f); //ture var x = [5,8,3,10]; var h = x.every(function(v){ return v>7; }); console.log('6.' + h);
    </script>
    2. 生成0~100的随机数组 / 计算数组中距离最大的两组坐标

    <script type="text/javascript"> (function () { "use strict"; var console = window.console; function random(a,b) { return Math.random() > 0.5 ? -1 : 1; } var arr = []; for (var i=0; i<99; i++) { var num = Math.random()*100; arr[i] = num; arr.push(arr[i]); } console.log('1.生成0~100随机排序的数组:'); console.log(arr.sort(random())); var arr2 = [],i=0; while(i<10) { var index = Math.floor(Math.random()*100); if (arr2.indexOf(arr[index]) == -1) { arr2[i] = arr[index]; i++; } else { } } console.log('arr2为:'); console.log(arr2); // var arr2 = [1,2,3,4,5,6,7,8,9,10]; var arr3 = []; var z = [],i; for (var i=0; i<9; i++) { if(i%2 === 0) { arr3[i/2] = { x: arr2[i], y: arr2[i+1] }; z[i/2] = Math.abs(arr3[i/2].y * arr3[i/2].y - arr3[i/2].x * arr3[i/2].x); } } console.log('arr3为:'); console.log(arr3); var max = Math.max.apply(null,z); var min = Math.min.apply(null,z); console.log('arr3中距离最大的两组坐标为:'); for (var i=0; i<z.length; i++) { if (z[i] === max) { console.log(arr3[i]); } else if (z[i] === min) { console.log(arr3[i]); } } })(); </script>

     3. 数组去重 /  将对象转为指定的字符串形式

    <script type="text/javascript">
        "use strict";
        var console = window.console;
        var $ = window.$;
    
      var arr = [1,2,3,'1','2','3','true',true,3,2,1];
      
      Array.prototype.filter = function() {
        var arr2 = [];
        for (var i=0; i<arr.length; i++) {
          if (arr2.indexOf(arr[i]) == -1) {
              arr2.push(arr[i]);
          }
        }
        return arr2;
      };
      console.log('去重后为:');
      console.log(arr.filter());
    
    
      var obj = {
        w: 'width',
        h: 'height',
        di: 'display:none',
        c: 'color'
      };
    
      var funRplByKey = function(str) {
        var arr = [];
        var arr2 = [];
          for( var i in obj ) {
            arr.push(obj[i]);
            arr2.push(i);
          }
          for (var i=0; i<arr.length; i++) {
            if (str.indexOf(arr[i]) !== -1) {
              str = str.replace(arr[i],arr2[i]);
            }
          }
        return str;
      };
      var str = '.class{20px;height:10px;display:none;}';
      console.log(funRplByKey(str));
    </script>
  • 相关阅读:
    java-信息安全(十)-签名002-数字签名算法DSA
    java-信息安全(九)-https002-基于DH,非对称加密,对称加密等理解
    java-信息安全(八)-密钥交换/协商机制、迪菲-赫尔曼(DH)密钥交换
    java-信息安全(七)-https001-基于非对称加密,对称加密等理解
    java-信息安全(六)-签名001-基于RSA理解数字签名示例
    java-信息安全(四)-非对称加密算法001-RSA
    java-信息安全(五)-数据签名、数字证书
    java-信息安全(三)-PBE加密算法
    java-信息安全(二)-对称加密算法工作模式ECB,CBC,CRT、DES,3DES,AES,Blowfish,RC2,RC4
    信息安全(一)-编码算法【base64编码、base58编码】、哈希算法【MD、sha、RipeMD-XX、hamc】
  • 原文地址:https://www.cnblogs.com/popeyesailorman/p/10588753.html
Copyright © 2020-2023  润新知