• javascript数组对象5.0


    8、数组

    (1)、定义数组

    var arr = ["小刘", "小松", "小王", "小小", "宝批龙"];

    数组的长度:数组名.length;

    数组的元素值:数组名[下标];

    注意:下标是从0开始的。

    (2)、遍历数组中的元素: 

    //for
    for
    (var i=0; i<arr.length; i++) { console.log(arr.[i]); }
    //for in
    for (var item in arr) { console.log(arr[item]); } //注意:item是下标

    (3)、数组的简单操作

    //括号{}的属于一个整体  在数组中单独占一个空间 
    var temp = [12, 3.1412, "12", "狗剩", true, {
        s:"xx"
    }];
    
    //这里为6
    var r= temp.length;
    alert(r);
    
    document.write(temp);
    document.write("<br>");
    temp[10] = "新增元素”;
    document.write(temp);
    
    //这里为11   前面在索引为10的地方添加了内容  在6-10的空间中没有值 undefined
    var l = temp.length;
    alert(l);
    
    //这里显示结果undefined  因为没有装入值  所以未定义
    alert(temp[15]);

    (4)、常用数组的方法

    var yc133 = ["小刘", "小溪”, “美玲”];

    a、在数组的末尾添加元素,返回数组的新长度-push

    yc133.push("是可爱鸭");
    //输出新数组的内容: 小刘,小溪,美玲,是可爱鸭
    document.write(yc133);

    b、在数组的末尾删除元素,返回被删除的元素-pop

    var name = yc133.pop();
    // 美玲
    document.write(name);
    //小刘 小溪
    document.write(yc133);

    c、在数组开头新增元素,返回数组的新长度-unshift

    var n1 = yc133.unshift("赵铁柱");
    //值为  4  新增元素,返回新的数组长度
    alert(n1);
    //赵铁柱 小刘 小溪 美玲
    document.write(yc133);

    d、在数组开头删除元素,返回被删除的元素-shift

    var obj = yc133.shift();
    //值为  小刘   返回被删除的元素
    alert(obj);
    //小溪 美玲
    document.write(yc133);

    e、截取数组-slice(返回截取的数组,原数组不变)

    语法:数组名.slice(开始下标位置,结束下标位置)

    var tt = yc133.slice(1,2);
    //这里截取的1开始   结束时是2的前一位  值为:小溪
    document.write(tt);

    f、数组的增、删、改-splice

    数组名.splice(开始下标, 长度) ==>删除

    //删除索引为1开始  总长度为1 的元素
    yc133.splice(1,1);
    //小刘 美玲
    document.write(yc133);

    数组名.splice(开始下标, 长度,新元素) ==>替换

    //将小溪删除  替换成小王
    yc133.splice(1, 1, "小王"); //小刘 小王 美玲 document.write(yc133);

    数组名.splice(开始下标, 0,新元素) ==>插入

    //在索引为1处添加 小王
    yc133.splice(1, 0, "小王");
    //小刘  小王 小溪 美玲
    document.write(yc133);

    g、拼接数组-concat

    语法:数组名.concat(arr)---拼接数组,返回新的数组,原数组不变

    var arr = ["21", 123];
    //拼接数组 返回新的数组
    var na = yc133.concat(arr);
    //小刘,小溪,美玲,21,123
    document.write(na.toString());

     f、数组排序-sort

    语法:数组名.sort(); --根据字符的编码排序

    var arr1 = [234, 8, -33, 32, 27, 54, 31, 2, 5, 6, 9, 14, 21, 4, 10, -34, 2];
    //234, 8, -33, 32, 27, 54, 31, 2, 5, 6, 9, 14, 21, 4, 10, -34, 2
    document.write(arr1);
    document.write("<br>");
    //-33,-34,10,14,2,2,21,234,27,31,32,4,5,54,6,8,9 注意看排序
    document.write(arr1.sort());

    练习4-1:将arr1按数字从小到大排序

    //这里是从小到大  思路是每次循环都找到最小的然后放到前面
    //第一层循环遍历每个数
    for (var i=0; i<arr1.length; i++) {
    //第二层循环  在每个数的基础上再取一个下标之后的数 挨个进行比较  当后面小于arr1[i]时
    //该值放到arr1[i]处,此处下标是不会变化的,j还是往后继续遍历寻找更小的数
    for(var j=i; j<arr1.length; j++) { //进行条件比较 if(arr1[i]>arr1[j]) { //值的变换 但位置下标是不变的 var t = arr1[i]; arr1[i] = arr1[j]; arr[j] = t; }

    练习4-2:利用函数,从大到小排序

    //234,8,-34,32,27,54,31,2,5,6,9,14,21,4,10,-33,2
    document.write(arr1);
    var arr2 = arr1.sort(function (a, b) {
        return b - a;
    });
    document.write("<br>");
    //234,54,32,31,27,21,14,10,9,8,6,5,4,2,2,-33,-34
    document.write(arr2);

    练习4-3:利用函数,从小到大排序

    //234,8,-34,32,27,54,31,2,5,6,9,14,21,4,10,-33,2
    document.write(arr1);
    var arr3 = arr1.sort(function (a, b) {
        return a - b;
    });
    document.write("<br>");
    //-34,-33,2,2,4,5,6,8,9,10,14,21,27,31,32,54,234
    document.write(arr3);
  • 相关阅读:
    Javaweb开发环境与搭建
    剑指Offer:面试题32——从1到n整数中1出现的次数(java实现)
    剑指Offer:面试题31——连续子数组的最大和(java实现)
    剑指Offer:面试题30——最小的k个数(java实现)
    剑指Offer:面试题29——数组中出现次数超过一半的数字(java实现)
    剑指Offer:解决难题时的三大方法
    剑指Offer:面试题28——字符串的排列(java实现)(待序)
    剑指Offer:面试题27——二叉搜索树与双向链表(java实现)
    剑指Offer:面试题26——复制复杂的链表(java实现)
    剑指Offer:面试题25——二叉树中和为某一值的路径(java实现)
  • 原文地址:https://www.cnblogs.com/HelloM/p/13492922.html
Copyright © 2020-2023  润新知