zoukankan      html  css  js  c++  java
  • Javascript对象及数组用法笔记

    640?wx_fmt=jpeg


    // 数组定义
    var arr = []; // 或 var arr = new Array();

    // 添加数组元素
    arr.push(1); // 添加数字
    arr.push('okbase.net'); // 添加字符串
    arr.push({name:'user1',value:'wang'}); // 添加对象
    arr.push({name:'user2',value:'guo'});
    arr[arr.length] = {name:'user3',value:'li'};

    // 修改数组内容
    arr[0]['old'] = 30;
    arr[1].old = 20;

    // 遍历方式一
    for(i in arr) {
    console.log(arr[i]);
    }

    // 遍历方式二
    for(var i=0; i<arr.length; i++){
    console.log(arr[i]);
    }

    // 遍历方式三(不适用IE)
    arr.forEach(function(e){
    console.log(e);
    })

    // 数组转换到JSON字符串
    var json = JSON.stringify(arr);

    // JSON字符串转换到数组
    var arrParse = JSON.parse('[{"name":"user1","value":"wang","old":30},{"name":"user2","value":"guo","old":20}]');

     

    var itemarr = JSON.parse('{"name":"user1"}');
    // 遍历数组
    for(var key in itemarr) {
    $scope.formData[key] = itemarr[key];
    }

    //字符串转化为数组
    var str = 'aa,bb,cc';
    var obj = str.split(',');

     

    //数组转化为字符串
    str = obj.join(',');

     

    删除数组中的指定元素

     

    var array = [2, 5, 9, 7];
    var index = array.indexOf(5);


    // 注意:Internet Explorer 7 和 8 不支持indexOf。

    然后


    if (index > -1) {
    array.splice(index, 1);
    }

     

    你也可以通过循环找到指定值


    for(var i = array.length - 1; i >= 0; i--) {
    if(array[i] === number) {
    array.splice(i, 1);
    }
    }

     

    如果希望删除该位置的对象,而不移除,可以
    delete array[index];

     

    如果希望删除的时候返回该删除的值,可以这样:
    var value = array.splice( index, 1 )[0];

     

    对象

    var site = {name:"好库编程网", age: 12, province: "浙江"};
    对象的两种寻址方式:
    name=site.name;
    name=site["name"];

     

    添加对象元素:

    site.test = 'hello!';
    alert(site.test);

     

    遍历对象属性:

    for(var p in site){
      document.write(p + ':' + site[p]);
    }

     

     

    一维数组
    (1)
    var cars=new Array("Audi","BMW","Benz");
    (2)
    var cars=["Audi","BMW","Benz"];
    (3)
    var cars=new Array();
    cars[0]="Audi";
    cars[1]="BMW";
    cars[2]="Benz";

     

    二维和多维数组

    1、 创建二维数组方法一:先创建一个一维数组,然后该一维数组的所有成员再创建一维数据
    var persons = new Array();

    persons[0] = new Array();
    persons[1] = new Array();
    persons[2] = new Array();

    persons[0][0] = "zhangsan";
    persons[0][1] = 25;
    persons[1][0] = "lisi";
    persons[1][1] = 22;
    persons[2][0] = "wangwu";
    persons[2][1] = 32;
    persons[0] = ["zhangsan", 25];
    persons[1] = ["lisi", 21];
    persons[2] = ["wangwu", 32];
    相比较上一种方法,这个要简单易读多了。


    2、创建二维数组方法二:先创建一个一维数组,然后该一维数组的所有成员直接赋值
    var persons = new Array();

    3、创建二维数组方法三:直接赋值
    var persons = [["zhangsan", 25], ["lisi", 21], ["wangwu", 32]];

     

    对象数组
    var departments = [qinghua{xx1, xx2, xx3}, beida{xx4, xx5, xx6, xx7}, zheda{xx8, xx9}];

     

    数组的遍历
    var mycars = new Array()
    mycars[0] = "Audi"
    mycars[1] = "Benz"
    mycars[2] = "BMW"

    for (x in mycars)
    {
    document.write(mycars[x] + "<br />")
    }

     

    数组合并

    var arr1 = [4,5,6]; 
    var arr2 = [7,8,9];

    // 将arr2合并到arr1

    arr1 = arr1.concat(arr2);


    来源:http://blog.okbase.net/JO2000/archive/55890.html


  • 相关阅读:
    <img src="">中src不合法导致Page_Load两次甚至多次
    在浏览器地址栏中查看cookie
    cookie在二级域名下的前后台的不同,后台C#调用前台js方法容易犯的错误
    VS调试快捷键
    href="#"与href="javascript:void(0)"的区别
    window.location.href()与window.open()区别
    兼容IE和Firefox的事件的写法
    sp.net中手写ajax检测用户是否存在?
    Eclipse快捷键大全
    修改navigationItem.backBarButtonItem.title的值无效的解决办法
  • 原文地址:https://www.cnblogs.com/hgmyz/p/12350880.html
Copyright © 2011-2022 走看看