【JavaScript 教程】---1.4 数组

在 JavaScript 中,数组用关键字 Array 进行声明。声明的同时,可以指定数组的长度,如果无法预知数组的长度,也可以不指定。例子如下:

var BATJ = new Array(4);    //指定数组长度

var BATJ = new Array();     //不指定数组长度

数组中的首个元素下标为0,最后一个元素的下标为 数组的长度减1。在给数组元素赋值时要注意下标有没有使用正确。例子如下:

//声明一个数组,并对其元素进行赋值
var BATJ = new Array(4);

BATJ[0] = "Baidu";
BATJ[1] = "Alibaba";
BATJ[2] = "Tencent";
BATJ[3] = "JD";

针对上边数组的声明和赋值,还可以使用另外两种更加便捷的方式,例子如下:

//在声明数组的同时进行赋值,注意使用逗号将值隔开
var BATJ = new Array("Baidu", "Alibaba", "Tencent", "JD");

//使用 [] 对数组进行声明和赋值
var BATJ = ["Baidu", "Alibaba", "Tencent", "JD"];

可以给数组元素赋多种数据类型的值,同一个数组中的元素不必保持相同的数据类型。例子如下:

var age = [18, 19, 20, 21];        //将数组元素全部赋为数值
var data = [18, "male", true];     //将数组元素赋为不同的类型:数值、字符串、布尔值

数组中也可以包含数组,例子如下:

var BATJ = ["Baidu", "Alibaba", "Tencent", "JD"];
var company = [];
company[0] = BATJ;    //将数组元素的值赋为数组
                      //company[0][0] 的值为 "Baidu"

关联数组

在为数组元素赋值时,数组的下标不仅可以使用数字,还可以使用字符串,这样的数组叫做关联数组。例子如下:

var BATJ = [];
BATJ["Robbin"] = "Baidu";
BATJ["Jack"] = "Alibaba";
BATJ["Pony"] = "Tencent";
BATJ["Richard"] = "JD";

使用字符串作为数组的下标,使代码更具有可读性,但笔者并不推荐这样做。实际上,在创建关联数组时,是在创建 Array 对象的属性。在 JavaScript 中,所有的变量都是某种类型的对象,例如一个布尔值是 Boolean 类型的对象,一个数组是 Array 类型的对象。上边的例子实际上是为数组 BATJ 添加了 Robbin、Jack、Pony、Richard 四个属性,但理想情况下,不应该修改 Array 对象的属性,而应该使用通用的对象 Object 。


笔者寄语:点滴积累,成就梦想!

根据原作 https://pan.quark.cn/s/459657bcfd45 的源码改编 Classic-ML-Methods-Algo 引言 建立这个项目,是为了梳理和总结传统机器学习(Machine Learning)方法(methods)或者算法(algo),和各位同仁相互学习交流. 现在的深度学习本质上来自于传统的神经网络模型,很大程度上是传统机器学习的延续,同时也在不少时候需要结合传统方法来实现. 任何机器学习方法基本的流程结构都是通用的;使用的评价方法也基本通用;使用的一些数学知识也是通用的. 本文在梳理传统机器学习方法算法的同时也会顺便补充这些流程,数学上的知识以供参考. 机器学习 机器学习是人工智能(Artificial Intelligence)的一个分支,也是实现人工智能最重要的手段.区别于传统的基于规则(rule-based)的算法,机器学习可以从数据中获取知识,从而实现规定的任务[Ian Goodfellow and Yoshua Bengio and Aaron Courville的Deep Learning].这些知识可以分为四种: 总结(summarization) 预测(prediction) 估计(estimation) 假想验证(hypothesis testing) 机器学习主要关心的是预测[Varian在Big Data : New Tricks for Econometrics],预测的可以是连续性的输出变量,分类,聚类或者物品之间的有趣关联. 机器学习分类 根据数据配置(setting,是否有标签,可以是连续的也可以是离散的)和任务目标,我们可以将机器学习方法分为四种: 无监督(unsupervised) 训练数据没有给定...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值