ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第7章 数据处理

2022-04-24 01:00:23  阅读:131  来源: 互联网

标签:console log 元素 var 数组 数据处理 hzh1


7.1 数组

7.1.1 JavaScript 的数组

console.log("**************************************************");
// 在 JavaScript 中,数组可以通过字面量与 new 表达式两种方法生成。
// 数组字面量的书写方式是在中括号([])中列出数组元素,并通过逗号相分隔。
var hzh1 = [3, 4, 5];

console.log("hzh1的类型是:" + typeof hzh1);   // 对数组进行typeof运算之后是object
console.log("**************************************************");

console.log("**************************************************");
// 不含有元素的数组的长度为零。
var hzh2 = [];
console.log("hzh2的长度是:" + hzh2.length);
console.log("**************************************************");

console.log("**************************************************");
// 不含有元素的数组的长度为零。
var hzh3 = [];
console.log("hzh2的长度是:" + hzh2.length);
console.log("**************************************************");

console.log("**************************************************");
// 在JavaScript 中,我们通常会先生成一个长度为零的数组,之后再向其中添加元素。
var hzh4 = [];
hzh4[0] = "黄子涵";
hzh4[1] = "是帅哥!"
console.log("hzh[0] = " + hzh4[0]);
console.log("hzh[1] = " + hzh4[1]);
console.log("hzh[0] + hzh[0] = " + (hzh4[0] + hzh4[1]));
console.log("**************************************************");

console.log("**************************************************");
// 不需要确保各个元素的类型一致。
var hzh5 = '黄子涵';
var hzh6 = [1, '黄子涵', hzh5, true, null, undefined, 
            {hzh7: 3, hzh8: 4}, [2, 'hzh9'], 
            function(hzh10, hzh11) {
                return Number(hzh10) + Number(hzh11);
            }
];
console.log("hzh6 = " + hzh6);
console.log("**************************************************");

console.log("**************************************************");
// 中间元素被省略的数组,。被省略元素的值将被认为是 undefined 值。
var hzh12 = [3, ,5];
console.log("hzh12[0] = " + hzh12[0]);
console.log("hzh12[1] = " + hzh12[1]);
console.log("hzh12[2] = " + hzh12[2]);
console.log("**************************************************");

console.log("**************************************************");
// 在 ECMAScript 中,如果像下面这样在书写数组字面量时以逗号作为结尾,则该逗号将会被忽略。
var hzh13 = [3, 4, ];
console.log("hzh13[0] = " + hzh13[0]);
console.log("hzh13[1] = " + hzh13[1]);
console.log("hzh13[2] = " + hzh13[2]);
console.log("hzh13的长度: " + hzh13.length);
console.log("**************************************************");

image

7.1.2 数组元素的访问

console.log("**************************************************");
// 可以通过中括号运算符([] 运算符)来访问数组的元素,
// []内所写的是下标的数值
// 下标由 0 开始。
// 如果该下标没有相对应的元素,则会获得 undefined 值。

var hzh1 = [3, 4, 5];
console.log(hzh1[0], hzh1[1], hzh1[2], hzh1[3]);
console.log("**************************************************");

console.log("**************************************************");
// 如果将中括号运算符写在赋值表达式的左侧,则可以改写相应的元素。
hzh1[2] = hzh1[2] * 2;
console.log("数组hzh1:" + hzh1);
console.log("hzh1[2] = " + hzh1[2]);
console.log("**************************************************");

console.log("**************************************************");
// 如果在赋值表达式左侧所写的下标超过了元素数量,
// 则会向数组增加新的元素
// 新增的元素下标值不必紧接着现有元素的个数
// 如果访问中间被跳过的元素,则会返回 undefined 值。

hzh1[3] = 20;

// 元素数量为3的时候,如果赋值给下标为3的元素(第4个元素),就会新增一个元素。
console.log("数组hzh1:" + hzh1);

// 如果对下标为10(第11个元素)进行赋值,元素的数量就会变为11
hzh1[10] = 100;
console.log("数组hzh1:" + hzh1);
console.log("数组hzh1的长度:" + hzh1.length);

//如果访问被跳过的元素,则会返回 undefined 值
console.log("hzh1[4]:" + hzh1[4]);
console.log("**************************************************");

image

7.1.3 数组的长度

console.log("**************************************************");
// 数组的长度值为数组中最后一个元素的下标值加 1。
// 如果生成的是元素之间存在间隙的数组,元素的数量与数组的长度不同。
var hzh1 = [2,,,,,3]; 
// 与元素数量不同,数组的长度为
console.log("数组hzh1的长度:" + hzh1.length); 
console.log("**************************************************");

console.log("**************************************************");
// 在向末尾添加了元素之后,length 的值将会自动增加.
// 如果在添加元素时跳过了一些中间元素
// length 的值则是最后的那个元素的下标值减去 1。
var hzh2 = ['zero', 'one', 'two'];
console.log("数组hzh2第一次长度:" + hzh2.length);
// 借助hzh2.length向数组的末尾添加元素是一种习惯用法
hzh2[hzh2.length] = 'three';
console.log("数组hzh2第二次长度:" + hzh2.length);
hzh2[100] = '黄子涵';
console.log("数组hzh2第二次长度:" + hzh2.length);
console.log("**************************************************");

console.log("**************************************************");
// 还可以显示更改length的值
// 在进行改写之后数组的长度也会相应发生改变
// 如果该值变小,超出部分的元素将被舍去
// 如果该值变大。新增部分的元素将是undefined值
var hzh3 = ['zero', 'one', 'two'];
hzh3.length = 2;     // 将数组的长度缩短
console.log(hzh3);   // 最后一个元素将会丢失

hzh3.length = 3;     // 恢复(加长)数组至原来的长度
console.log(hzh3);   // 新增的部分是undefined值
console.log("**************************************************");

image

7.1.4 数组元素的枚举

console.log("***********************************************");
// for语句是最常用的数组元素的枚举方式
var hzh1 = [1, 2, 3, 4, 5, 6, 7, 8, 9];
for(var i = 0, len = hzh1.length; i < len; i++) {
    console.log(hzh1[i]);
}
console.log("***********************************************");

image

7.1.5 多维数组

console.log("***********************************************");
// 由于任意内容都可以被指定为数组的元素,
// 因此数组本身自然也可以成为另一个数组的元素
// 某个值若被指定为了数组的元素,
// 可以像下面这样,通过连续使用多个 [] 运算符来访问元素
// 数组甚至还可以将其自身作为该数组的元素

var hzh1 = [1, ['hzh2', 'hzh3', 'hzh4', 'hzh5']];
console.log("hzh1[0]:" + hzh1[0]);
console.log("hzh1[1][0]:" + hzh1[1][0]);
console.log("hzh1[1][1]:" + hzh1[1][1]);
console.log("hzh1[1][2]:" + hzh1[1][2]);
console.log("hzh1[1][3]:" + hzh1[1][3]);
console.log("***********************************************");

image

7.1.6 数组是一种对象

console.log("*************************************************");
// 在 JavaScript 中,数组是一种对象。
// 从内部来看,它是Array 对象(Array 类)的对象实例。
// 因此,也可以通过 new 表达式来调用 Array 的构造函数以生成数组。
// 根据具体情况,可以以不同的方式来解释传递给 Array 构造函数的参数。
// 如果参数的数量为 1 且是一个数值,它的含义是数组的长度(元素数量);
// 如果参数的数量大于等于 2,则这些参数代表的是数组的元素。
// 对于参数只有1个的情况,该参数将会成为数组的长度
var hzh1 = new Array(5);    
console.log("数组hzh1:" + hzh1);
console.log("*************************************************");

console.log("*************************************************");
// 参数将会成为数组的元素
var hzh2 = new Array(3, 4, 'huangzihan');
console.log("数组hzh2:" + hzh2);
console.log("*************************************************");

console.log("*************************************************");
// 由于不会发生隐式的数据类型转换而将该参数转换为数值类型,
// 因此这一参数将被认为是数组中下标为0的元素
var hzh3 = new Array('5');
console.log(hzh3);
console.log("*************************************************");

console.log("*************************************************");
// 对数组对象的方法进行调用的例子
var hzh4 = ['zero', 'one', 'two'];
// 对join方法进行调用
console.log("hzh4.join('_'):" + (hzh4.join('_')));     
// 也可以直接对数组字面量进行方法调用        
console.log("[3, 4, 5].join('_'):" + ([3, 4, 5].join('_')));  
console.log("*************************************************");

console.log("*************************************************");
// 中括号运算符在这里的作用是用于访问数组的元素,
// 其实,这就是在访问对象的属性。
// 也就是说,从内部来看,下标值0或1之类的数值其实是数组对象的属性名
var hzh5 = ['zero', 'one', 'two'];
console.log("枚举数组hzh5的属性值:");
for (var n in hzh5) {
    console.log(n);               // 下标值的枚举,即属性名的枚举
}
console.log("属性名的枚举:" + (Object.keys(hzh5))); 
console.log("属性名的枚举(忽略enumerable属性):" + 
             (Object.getOwnPropertyNames(hzh5)));
// 对下标0是否存在进行检验
console.log("下标0是否存在:" + ('0' in hzh5));
// 数值0将会被转换为字符串型'0'以进行检验
console.log("对数值0的检验:" + (0 in hzh5));
// 对length属性是否存在进行检验
console.log("对length属性进行检验:" + ('length' in hzh5));
console.log("*************************************************");

console.log("*************************************************");
// 如果没有以正整数对一个数组对象进行 [] 运算,
// 该值就会被解释为属性名,而进行属性访问操作
var hzh6 = ['zero', 'one', 'two'];
hzh6.x = 'X';  // 向数组对象中添加属性x
console.log("枚举数组hzh6的属性值:");
for(var p in hzh6) {
    console.log(p);
}
console.log("*************************************************");

image

7.1.7 Array 类

7.1.8 数组对象的意义

7.1.9 数组的习惯用法

排序

通过数组生成字符串

数组的复制

元素的删除

筛选处理

7.1.10 数组的内部实现

7.1.11 数组风格的对象

7.1.12 迭代器

7.1.13 生成器

7.1.14 数组的内包

7.2 JSON

7.2.1 JSON 字符串

7.2.2 JSON 对象

7.3 日期处理

7.4 正则表达式

7.4.1 正则表达式的定义

7.4.2 正则表达式相关的术语

7.4.3 正则表达式的语法

7.4.4 JavaScript 中的正则表达式

7.4.5 正则表达式程序设计

7.4.6 字符串对象与正则表达式对象

标签:console,log,元素,var,数组,数据处理,hzh1
来源: https://www.cnblogs.com/Huang-zihan/p/16179335.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有