文档章节

JavaScript之数组、Map、对象

 欧虞山
发布于 2017/07/24 20:47
字数 470
阅读 12
收藏 0

JavaScript的Array可以包含任意数据类型,并通过索引来访问每个元素。

定义数组方式一:

var person = new Array();
person[0] = 'name';
person[1] = 'sex';
person[2] = 'age';
person.push('job');
console.log(person);

控制台打印结果:

["name", "sex", "age"]

va定义数组方式二:

var people = ['name','sex','age']
console.log(people );

控制台打印结果:

["name", "sex", "age"]
console.log(people.slice(1,3));

控制台打印结果:

["sex", "age"]
var a = ['A', 'B', 'C'];
a.forEach(function (element, index, array) {
    // element: 指向当前元素的值
    // index: 指向当前索引
    // array: 指向Array对象本身
    alert(element);
});

JavaScript的对象是一种无序的集合数据类型,它由若干键值对组成。 定义对象方式一:

var people = new Object();
people.name = 'ou';
people.sex = '男';
people.age = 23;
console.log(people);

控制台打印结果:

Object {name: "ou", sex: "男", age: 23}

定义对象方式二:

var person = {}
person.name = 'ou';
person.sex = '男';
person.age = 23;
console.log(person);
控制台打印结果:
Object {name: "ou", sex: "男", age: 23}

定义对象方式三:

var person = {name:"ou",sex:"男",age:23};
console.log(person);
控制台打印结果:
{name: "ou", sex: "男", age: 23}

访问属性是通过.操作符完成的,但这要求属性名必须是一个有效的变量名。如果属性名包含特殊字符,就必须用''括起来:

var person = {name:"ou",sex:"男",age:23,"middle-school":"BeiJing middle School"};
console.log(person['middle-school']);
var person = {name:"ou",sex:"男",age:23,"middle-school":"BeiJing middle School"};
for(var key in person){
	alert(key);
}

Map 定义方式一: JavaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值对。

	var m = new Map();
	m.set('name','ou');
	m.set('sex','男');
	m.set('age',23);
	console.log(m);
	m.delete('name');
	console.log(m);

控制台打印结果

Map(3) {"name" => "ou", "sex" => "男", "age" => 23}
Map(2) {"sex" => "男", "age" => 23}

定义方式二:

var m = new Map([['name','ou;],['sex','男'],['age',23]]);
console.log(m);

控制台打印结果

Map(3) {"name" => "ou", "sex" => "男", "age" => 23}

var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
m.forEach(function (value, key, map) {
    alert(value);
});

© 著作权归作者所有

粉丝 1
博文 22
码字总数 16177
作品 0
东城
程序员
私信 提问
[JavaScript]-Array构造的数组使用map为何失效?

[示例] 假设你需要生成一个从0到99的数组。你要怎么做呢?下面是一种解法: 看到这种使用传统的for循环的方式会有点不大习惯。事实上,各种高阶函数,像forEach, map, filter, reduce足以写出...

xiaoLoo
2018/06/27
24
0
JavaScript 高阶函数介绍

如果你正在学习或使用 JavaScript, 那么一定遇到过高级函数这个术语。听起来很高级复杂,其实不然。 First-Class Functions JavaScript 将函数作为一等公民。这是因为函数是对象。 在 JavaSc...

chen9527
06/23
0
0
《es6 标准入门》知识整理(2) - 数据类型的扩展、Set 和 Map

字符串的扩展 es6 为字符串添加了遍历器接口,使得字符串可以被 for...of 循环遍历 at(), charAt() 返回字符串给定位置的字符 normalize() 用来将字符的不同表示方法统一为同样的样式,这称...

IrisHuang
04/09
11
0
【转】你会用哪些JavaScript循环遍历

总结JavaScript中的循环遍历定义一个数组和对象 const arr = ['a', 'b', 'c', 'd', 'e', 'f'];const obj = {a: 1,b: 2,c: 3,d: 4} for() 经常用来遍历数组元素 遍历值为数组元素索引 or (le......

kaixin_code
2018/12/12
17
0
理解 JavaScript 中的高阶函数

原文作者:Sukhjinder Arora 译者:UC 国际研发 Jothy 写在最前:欢迎你来到“UC国际技术”公众号,我们将为大家提供与客户端、服务端、算法、测试、数据、前端等相关的高质量技术文章,不限...

UC国际技术
2018/11/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
昨天
5
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
昨天
8
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
昨天
10
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
昨天
6
0
PHP+Ajax微信手机端九宫格抽奖实例

PHP+Ajax结合lottery.js制作的一款微信手机端九宫格抽奖实例,抽奖完成后有收货地址添加表单出现。支持可以设置中奖概率等。 奖品列表 <div class="lottery_list clearfix" id="lottery"> ......

ymkjs1990
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部