js基础4 — 数组操作

<html>
<head>
    <title>js基础测试4</title>
</head>
<body>
<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> </body> </html>
<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>

猜你喜欢

转载自www.cnblogs.com/popeyesailorman/p/10588753.html