博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数组基础知识总结
阅读量:5123 次
发布时间:2019-06-13

本文共 1980 字,大约阅读时间需要 6 分钟。

(1)所有的对象都具有toLocaleString(),toString()和valueOf()方法,其中调用valueOf方法返回数组本身,toString()返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串;为了创建这个字符串会调用数组每一项的toString()方法;

alert()接收字符串参数;因此会在后台调用toString()方法;即与数组调用toString()方法得到的结果相同;

(2)join只接收一个参数,作为分隔符的字符串,然后返回包含所有数组项的字符串;

1 var colors=['red','blue','yellow'];2  console.log(colors.join('*'));//red*blue*yellow

(3)栈方法:栈:是一种数据结构,最新添加的数据最早被删除,栈中项的插入和移除只发生在顶部;

1 var colors=['red','blue','yellow'];2 var item=colors.pop();3 alert(item);//yellow;返回的是被移除的那个项;

(4)队列方法与栈方法相对应,是先进先出;

(5)数组重新排序:

a.reverse方法:反转

1 var values=[1,2,3,4,5];2     values.reverse();3     console.log(values);// [5, 4, 3, 2, 1]

b.

排序:sort();默认情况下是升序排列;为了实现排序,sort()方法会调用每个数组项的toString()方法,然后比较得到的字符串;以确定如何排序;即使数组中每一项是数组,得到的也是字符串排序;但是sort()党法可以接收一个比较函数作为参数,以便我们指定哪一个值位于前面;

比较函数接收两个参数,如果第一个参数应该位于第二个参数前面,返回一个负数,如果两个参数相等返回0;如果位于后面,返回正数;

1  function compare(value1,value2){ 2        if(value1
value2){ 5 return 1; 6 }else{ 7 return 0; 8 } 9 }10 var value=[0,1,3,5,2,8];11 value.sort(compare);12 console.log(value);// [0, 1, 2, 3, 5, 8];只要交换比较函数的比较返回值1,-1,就可以调换排序顺序;

c.对于数值类型或者其valueOf()方法会返回数值类型的对象类型,可以使用一个更简单的比较函数,这个函数只要用第二个值减去第一个值即可;如果用 return value2-value1;得到的是相反的顺序;

1 

(7)数组的splice方法:

删除:splice(要删除第一项的位置,要删除的项数);splice(0,2);删除前两项;

插入:splice(起始位置,0,要插入的项);
替换:splice(起始位置,要删除的项,要插入的项);

(8)数组的迭代方法:

a.every():对数组中每一项运行给定函数,如果该函数对每一项都返回true,则返回true;

1 

b.some()对数组中每一项运行给定函数,如果该函数对任(某)一项返回true,则返回true;

1 

c.filter()对数组中每一项运行给定函数,返回该函数会返回true的项组成的数组;

1 

d.map()对数组中每一项运行给定函数,返回每次函数调用的结果组成的数组;

1 

e.forEach()只是对数组中的每一项运行传入的函数,这个方法没有返回值,本质上与for循环一致;

1 

8.数组的归并方法:

reduce()和reduceRight();

这两个方法都会迭代数组的所有项,最后构建一个最终返回的值;
该方法接收两个参数reduce(每一项上调用的函数,(可选)作为归并基础的初始值);
函数参数;function(前一个值,当前值,项的索引,数组对象);

1 8 reduceRight()//是从后向前迭代;

9.小计:

1 var colors=['red','blue','yellow'];2 colors[colors.length]='black';3 colors[99]='green';4 alert(colors.length);//100;5 if(Array.isArray(value)){};

 

转载于:https://www.cnblogs.com/yangguoe/p/7979478.html

你可能感兴趣的文章
Android 画图之 Matrix(一)
查看>>
List<T>列表通用过滤模块设计
查看>>
【模板】最小生成树
查看>>
设计模式之结构型模式
查看>>
poj2569
查看>>
使用pygal_maps_world.i18n中数据画各大洲地图
查看>>
sql server必知多种日期函数时间格式转换
查看>>
jQuery EasyUI 的下拉选择combobox后台动态赋值
查看>>
timeline时间轴进度“群英荟萃”
查看>>
python if else elif statement
查看>>
网络编程
查看>>
文本隐藏(图片代替文字)
查看>>
java面试题
查看>>
提高码力专题(未完待续)
查看>>
pair的例子
查看>>
前端框架性能对比
查看>>
@property中 retain 详解
查看>>
uva 387 A Puzzling Problem (回溯)
查看>>
12.2日常
查看>>
同步代码时忽略maven项目 target目录
查看>>