javascript参数数组-JavaScript初探三(学习js领域)

2024-04-15 0 5,357 百度已收录

JavaScript初探(三)JavaScript字段定义创建链表

var arr = ["Huawei","China","Mirror"];

复制

同时JavaScript也支持new Array来创建链表。不过建议使用之前的文本形式来创建链表

数组访问

var name = arr[0];
// name = Huawei

复制

ps:数组的索引从0开始

var arr = ["Huawei","China","Mirror"];
document.getElementById("demo").innerHTML = arr ;
// 结果输出: Huawei,China,Refueling

复制

将数组元素字段更新为对象。 数组元素可以是对象:由于链表的特性,数组是一种特殊类型的对象。 因此,链表中可以存储不同类型的变量,包括数字、字符串、函数、函数……而且,还可以在链表中存储另一个字段字段属性长度属性

var arr = ["Huawei","China","Mirror"];
arr.length;
// 结果:返回 3 

复制

由于arr索引从0开始,而长度估计从1开始,因此length-1 ===是数组最后一个元素的下标索引。

var arr[arr.length - 1] ;
// 结果返回 Mirror

复制

迭代字段

var arr = ["Huawei","China","Mirror"];
var text = "
    "; for(i = 0 ; i < arr.length-1 ; i ++){ text += "
  • " + arr[i] + "
  • "; }

复制

Array.foreach()

var arr = ["Huawei","China","Mirror"];
var text ;
text = "
    "; arr.forEach(myArr); text += "
"; function myArr(value){ text += "
  • " + value + "
  • "; }

    复制

    添加元素:push()

    var arr = ["Huawei","China","Mirror"];
    arr.push("Refueling");

    复制

    arr[arr.length] = ("Refueling");
    // 或者
    arr[x] = ("Refueling");

    复制

    关联数组

    var arr = [];
    arr[0] = "Huawei";
    arr[1] = "China";
    arr[2] = "Refueling";
    var x = arr.length ;   //返回  3
    var y = arr[0];        //返回  Huawei

    复制

    var arr = [];
    arr["A"] = "Huawei";
    arr["B"] = "China";
    arr["C"] = "Refueling";
    var x = arr.length ; 		// 返回 0 
    var y = arr[0] ;		//返回 undefined

    复制

    对象和字段的区别:识别数组变量链表方法toString()数组输出

    var arr = ["Huawei","China","Mirror"];
    document.getElimentById("demo").innerHTML = arr.toString();
    // 结果:Huawei,China,Mirror

    复制

    join() 数组输出

    var arr = ["Huawei","China","Mirror"];
    document.getElimentById("demo").innerHTML = arr.join("&");
    // 结果:Huawei&China&Mirror

    复制

    Popping()(删除元素)

    var arr = ["Huawei","China","Mirror"];
    arr.pop(); //删除最后一个元素 Mirror

    复制

    pop():返回删除的数字

    Pushing()(添加元素)

    var arr = ["Huawei","China","Mirror"];
    arr.push("Refueling");  // 添加 Refueling到数组中,并返回最新数组的长度

    复制

    push():返回新字段的宽度

    位移元素(添加/删除起始元素)

    var arr = ["Huawei","China","Mirror"];
    arr.shift();	// 返回 Huawei

    复制

    shift() 返回被移出(删除)的元素

    var arr = ["Huawei","China","Mirror"];
    arr.unshift("Refueling");	// 返回 新的数组长度 5

    复制

    unshift():返回新的字段宽度

    更改元素 删除元素 删除

    var arr = ["Huawei","China","Mirror"];
    delete arr[0];		//把 "Huawei" 改为 undefined

    复制

    不建议使用删除操作符。 您可以使用 pop() 或 shift() 代替。 原因:后者的链表方法会手动擦除字段索引,而delete会保留索引,造成空洞。

    拼接字段 splice()

    var arr = ["Huawei","China","Mirror"];
    arr.splice(2,0,"Refueling","Hello");

    复制

    第一个参数:定义在何处添加新元素 第二个参数:定义应删除多少个元素 其余参数:定义要添加的新元素

    var arr = ["Huawei","China","Mirror"];
    arr.splice(0,1); // 删除 arr 数组中的第一个元素

    复制

    第一个参数:定义添加新元素 第二个参数:定义删除多个元素 其余参数:忽略,不添加新元素

    splice() 将返回删除的元素javascript参数数组,并且原始字段的内容将被更改。

    合并字段 concat()

    var str1 = ["Huawei","Refueling"];
    var str2 = ["China","Refueling"];
    var myStr = str1.concat(str2) ;   // 连接 str1 和 str2

    复制

    Array1.concat(Array2,……)

    同样,concat() 也可以与值组合 array1.concat([value,...])

    剪切字段切片()

    var arr = ["Huawei","China","Refueling","Hello","World"];
    var array = arr.slice(1);
    var array = arr.slice(1,3);

    复制

    第一个元素:裁剪的起始位置。 第二个元素:裁剪的结束位置。 如果省略第二个元素,则会从链表的起始位置截取到最后一个元素。

    JavaScript 字段排序 sort()

    var arr = ["Huawei","China","Refueling","Hello","World"];
    arr.sort();
    // 结果:China,Hello,Huawei,Refueling,World

    复制

    反转字段reverse()

    var arr = ["Huawei","China","Refueling","Hello","World"];
    arr.reverse()

    复制

    var arr = ["Huawei","China","Refueling","Hello","World"];
    arr.sort();
    arr.reverse();

    复制

    比率函数*

    function(a,b){return a-b}

    复制

    当sort()函数比较两个值时,值被发送到比较函数并根据返回值进行排序。

        

    var points = [40,100,1,5,25,10] ; document.getElementById("demo").innerHTML = points ; function myFuntion1() { points.sort(); document.getElementById("demo").innerHTML = points ; } function myFuntion2() { points.sort(function(a,b){return a - b}) ; document.getElementById("demo").innerHTML = points ; }

    复制

    按随机顺序排序

    var points = [40,100,1,5,25,10] ;
    points.sort(function(a,b){return 0.5 - Math.random()});

    复制

    原理是:0.5除以随机数

    求最大值 Math.max()

    function myArrayMax(arr) {
        return Math.max.apply(null,arr);
    }

    复制

    Math.max.apply([1,2,3]) === Math.max(1,2,3)

    javascript参数数组-JavaScript初探三(学习js领域)

    数学.min()

    function myArrayMin(arr) {
        return Math.min.apply([null,arr]);
    }

    复制

    Math.min.apply([1,2,3]) === Math.min(1,2,3)

    定制最大和最小

    function myArrayMax(arr) {
        var len = arr.length ;
        var max = -Infinity ;  //最小的负值
        while (len --) {
            if  (arr[len] > max) {
                max = arr[len] ;
            }
        }
        return max ;
    }

    复制

    function myArrayMin(arr) {
        var len = arr.length ;
        var min = Infinity ;
        while (len --) {
            if (arr[len] < min) {
                min = arr[len];
            }
        }
        return min ;
    }

    复制

    对对象数组进行排序

    var cars = [
        {name:"HUAWEI",age:"good"},
        {name:"MI",age:"where"},
        {name:"Java",age:"No:1"}
    ];

    复制

    即使对象具有不同数据类型的属性,sort()方法仍然可以对链表进行排序。 解决方案是使用比较函数来比较属性值。

    cars.sort(function(a,b){return a.year - b.year});

    复制

    通过比较函数比较属性中的属性值内容

    JavaScript 数组迭代方法 Array.forEach()

    var txt = "" ;
    var number = [45,4,9,16,25] ;
    numbers.forEach(myFunction) ;
    function myFunction (value , index , array) {
        txt += value + "
    " ; }

    复制

    上述代码的作用:对数组中的每个值进行传递并调用函数

    数组.map()

    var number1 = [45,4,9,16,25] ;
    var number2 = number1.map(myFunction) ;
    function myFunction(value,index,array){
        return value * 2 ; // 数组中的元素 * 2 并返回
    }

    复制

    数组.filter()

    var number = [45,4,9,16,25] ;
    var over18 = number.filter(myFunction) ;
    function myFunction(value , index , array){
        return value > 18 ; // 返回大于18的数组元素并组成一个新数组
    }

    复制

    数组.reduce()

    var number = [45,4,9,16,25] ;
    var sum = number.reduce(myFunction) ;
    function myFunction(total , value , index , array){
        return total + value ;
    }

    复制

    reduce():方法只能接收一个初始值

    Array.reduceRight()Array.every()

    var number = [45,4,9,16,25] ;
    var allOver18 = number.every(myFunction) ;
    function myFunction(value , index , array) {
        return value > 18 ;
    }

    复制

    Array.some()

    var number = [45,4,9,16,25] ;
    var someOver18 = number.some(myFunction) ;
    function myFunction(value , index , array) {
        return value > 18 ;
    }

    复制

    Array.indexOf()

    var number = [45,4,9,16,25] ;
    var a = number.indexOf(45);

    复制

    array.indexOf(item,start) item:必填,要检索的项目 start:可选javascript参数数组,检索的起点

    如果未找到该项目,则返回 -1。 如果搜索的内容出现多次,则返回第一次出现的内容。

    Array.lasIndexOf()Array.find()

    var number = [45,4,9,16,25] ;
    var first = number.find(myFunction) ;
    function myFunction(value , index , array) {
        return value > 18 ;
    }

    复制

    Array.findIndex()

    var number = [45,4,9,16,25] ;
    var first = number.findIndex(myFunction) ;
    function myFunction(value , index , array){
        return value > 18 ;
    }

    复制

    收藏 (0) 打赏

    感谢您的支持,我会继续努力的!

    打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
    点赞 (0)

    悟空资源网 javascript javascript参数数组-JavaScript初探三(学习js领域) https://www.wkzy.net/game/200581.html

    常见问题

    相关文章

    官方客服团队

    为您解决烦忧 - 24小时在线 专业服务