JavaScript-day16-个人学习笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_39946352/article/details/78445469

JavaScript-day16-个人学习笔记


一、数组的常用API方法

API : Application Programming Interface
应用程序    编程        接口

1、字符串拼接——arr to String:

(1)var str=arr.toString()——>自动,逗号分隔

(2)var str=arr.join("连接符")——>自定义连接符;a、将字符拼接为单词:arr.join("");b、将单词拼接为句子:arr.join(" ")

优化:问题:繁体字符串拼接,造成内存浪费

解决:先将要拼接的字符串放入数组,最后,arr.join("")

2、连接数组

函数:concat()
作用:拼接两个或更多的数组,并返回拼接后的结果
语法:var newArr=arr1.concat(arr2,arr3);
注意:(1)该函数不改变现有数组,仅仅是返回拼接后的(2)每个参数可以是具体数值,也可以是数组

3、获取子数组——从某数组中,截取几个连续的元素组成新的数组
函数:slice()
语法:var subArr=arr.slice(start,[end]);
start : 从哪个下标处开始选取,取值为正,从前向后算,取值为负,则从后向前算

end : 指定结束处的下标(不包含);可以省略,如果省略的话,相当于是从 start 一直截取到结束

注意:该函数不会改变现有数组,会返回全新的子数组

4、修改数组——允许从数组中删除一部分元素,同时再添加另外一部分元素

函数:splice()
语法:arr.splice(start,count,e1,e2,...);
start : 指定添加,或删除元素的起始位置
count : 要删除的元素个数,取值为0则表示不删除
e1,e2,e3,... : 在start位置处要添加的新内容
返回值:被删除元素的数组
注意:splice 会改变现有的数组

5、数组反转——颠倒数组中元素的顺序
语法:array.reverse();
注意:该函数会改变当前数组的内容

6、数组排序

函数:sort();
语法:arr.sort(排序函数);
作用:默认情况下,按照元素的Unicode码大小按升序排列

函数对象作为参数:js中函数本质是一个对象,函数名本质是指向函数对象的变量

特殊:允许自己指定排序函数,从而实现对数字的升序和降序的排列

语法:arr.sort(排序函数);

var arr = [12,6,4,72,115,89];
				//排序函数(升序)
				function sortAsc(a,b){
					return a-b;
				}
				arr.sort(sortAsc);

7、栈和队列:js中没有真正的栈和队列的类型,一切都是用数组对象模拟的

(1)栈:只能从一端进出的数组,另一端封闭

使用:

a、末尾出入栈:已入栈元素的下标不再改变

入栈:arr.push(新值1,...)

出栈:var last=arr.pop()

b、开头出入栈:每次入栈新元素时,已入栈元素的位置都会向后顺移

入栈:arr.unshift(新值1,...);

出栈:var first=arr.shift();

(2)队列:只允许从末尾进入数组,必须从开头出数组

结尾入队列:arr.push();

开头出队列:var first=arr.shift();

二、二维数组

二维数组:数组中的元素,又引用了另一个子数组对象

1、何时使用二维数组:2种

(1)只要保存横行竖列的二位数据

(2)保存上下级关系的数据时

2、如何创建二维数组:2种

(1)先创建空数组,再赋值:

var arr=[];
arr[0]=["石家庄","保定","唐山"];
arr[1]=["德州","济南","烟台"];
(2)创建数组时,同时初始化子数组:

var data=[
  [0,2,2,4],
  [2,4,4,8],
  [16,32,16,8],
  [4,2,128,4]
];
3、如何访问二维数组中的数据:arr[行下标][列下标]
强调:二维数组中,行下标不能越界!

遍历二维数组:外层循环遍历行,内层循环遍历列

var arr=[[...],[...],[...]...]
for(var r=0;r<arr.length;r++){
    for(var c=0;c<arr[r].length;c++){

    }
}




猜你喜欢

转载自blog.csdn.net/weixin_39946352/article/details/78445469