js 数组和对象

本文探讨了如何在编程中高效地使用数组和对象,强调了它们各自的优势,并通过实例展示了如何结合使用以提高代码的可读性和实用性。文章特别介绍了数组的赋值方式、多维数组的应用以及对象的属性寻址,还提供了对象长度计算的方法,帮助开发者更好地理解和应用这些基本数据结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

把数字、字符串、字符、对象等内容放在同一个数组中。对象也可以做同样的事情,区别是对象可以指定对象里每一个成员的别名,这样在编程的时候数据更易读,比如:

    var arr1 = ["飞鱼", 25, 172, "江苏"];
    var person = {name:"飞鱼",age: 25, height:172,province: "江苏"};

这样,person.name是不是比arr1[0]更易读,更易使用?当然数组和对象各有优势,本文的重点是将二者的优势结合起来,综合使用。
一、数组
一维数组赋值
1)

var mycars=new Array();
mycars[0]="Saab";
mycars[1]="Volvo";
mycars[2]="BMW";
console.log(mycars);

var mycars=new Array(3);
mycars[0]="Saab";
mycars[1]="Volvo";
mycars[2]="BMW";
console.log(mycars);

2)

var mycars=new Array("Saab","Volvo","BMW");
console.log(mycars);

二维和多维数组
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];
    console.log(persons);

2)

    var persons = [["zhangsan", 25], ["lisi", 21], ["wangwu", 32]];
    console.log(persons);

二、对象
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:

var person={firstname:"Bill", lastname:"Gates", id:5566};

对象属性有两种寻址方式:

name=person.lastname;
name=person["lastname"];

使用总结
1.数组使用length计算个数,而对象不行,计算一个字符串的长度或者计算一个数组元素的个数,那么此时只能用length而不能用size()
数组长度计算

var mycars=new Array("Saab","Volvo","BMW");
console.log(mycars.length);

对象的长度计算

Object.size = function(obj) {
    var size = 0, key;
    for (key in obj) {
        if (obj.hasOwnProperty(key)) size++;
    }
    return size;
};
objname = {firstname:"Bill", lastname:"Gates", id:5566};
var num=Object.size(objname);
console.log(num);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值