JavaScript学习笔记(4) 操作数组

JavaScript几种操作值的集合的对象:

Array对象:

123456……
abbdef……

*使用索引(位置)来管理;

**数值可重复

操作方法:

使用字面量的形式

var ary=new ['haha','xixi','hehe'];


使用构造函数的形式:

var ary=new Array('xixi','haha','hehe');//使用指定函数生成数组;


var new Array();    //生成空的数组;
var ary=new Array(10);    //创建一个10个位置的数组(0~9)

Array的主要成员:

分类成员概述
基本length数组的大笑
isArray(obj)指定对象是否为数组(静态方法)
toString()转换为[元素,元素…]形式的字符串
toLocaleString()将数组转换你为字符串(分隔字符根据语言变化)
indexOf(elm,[index])获取和指定元素匹配的第一个元素的键值(index=检索的开始位置)
lastIndexOf(elm,[index])获取和指定元素匹配的最后一个元素的键值(index=检索的开始位置)
entries()获取所有的键/值
keys()获取所有的键
values()获取所有的值
加工concat(ary)合并数组
join(del)将数组的元素使用分隔符del连接
slice(start,end)取出第start+1个~第end个元素
*splice(start,cnt[,rep...]])使用rep…替换数组哪第start+1个元素~第end个元素
from(alike[map[,this]])将类数组对象、课枚举对象转换为数组(静态方法)
of(e1,...)将可变参数转换为数组(静态方法)
*copyWithin(target,start[end])将第start+1个~第end个元素复制到从第target+1开始的位置(元素数量和原来数组相同)
*fill(val[,start[end]])使用val替换数组内第start+1个~第end个元素
添加/删除*pop()获取数组末尾的元素并删除
*push(data1[,data2,...])在数组末尾添加元素
*shift()获取数组开头的元素并删除
*unshift(data1[,data2,...])在数组开头添加指定元素
排序*reverse()数组的元素反转
*sort([fnc])将元素生序排列
回调forEach(fnc[,that])使用fnc函数依次处理组内元素
map(fnc[,that])使用fnc函数一次加工组内元素
every(fnc[,that])数组内的所有元素是否都和条件fnc一致
some(fnc[,that])数组内的所有元素是否存在和条件fnc一致
filter(fnc[,that])生成和条件fnc一致的元素组
find(fnc[,that])获取函数fnc第一次返回true的元素
find(Index(fnc[,that])获取函数fnc第一次返回true的“索引”
reduce(fnc[,init])使用函数fnc从左到右处理相邻两个元素并返回单个值(init=初始值)
reduceRight(fnc[,init])使用函数fnc从右到左处理相邻两个元素并返回单个值

带*号的为深拷贝方法:通过执行这个方法会影响对象(数组)本身的方法。

push()、pop()、shift()、unshift()的方法可以将数组作为堆栈或者队列使用。

Map对象:

abcde...
12345...

*使用键/值的组合来管理;

**键值不可以重复

成员概述
size元素个数
set(key,val)添加键/值对应的元素,如果重复则覆盖
get(key)获取指定key的元素
has(key)判断key的元素是否存在
delet(key)删除指定key的元素
clear()删除所有元素
values()获取所有的值
entries()获取所有的key/值
forEach(fnc[,that])使用函数fnc依次处理Map内的元素
let m=new Map();
m.set('dog','wowo');
m.set('cat','meow');
m.set('mouse','gigi');

console.log(m.size);
console.log(m.get('dog'));
console.log(m.has('cat'));

for (let key of m.keys()){
console.log(key);
}

for (let value of m.values()){
console.log(value);
}

for (let[key,value]of m){
console.log(value);
}

m.delete('dog');
console.log(m.size);

m.clear();
console.log(m.size);

Set对象:

*没有顺序;

**值不可以重复

成员        概述
size元素个数
add(val)添加指定的值
has(val)判断指定值是否存在
delete(val)删除指定的元素
clear()删除所有元素

entries()

获取所有的key/值
value()获取所有的值
forEach(fnc[,that]使用指定的函数处理Set的各个值
let s=new Set();
s.add(10);
s.add(5);
s.add(100);
s.add(50);
s.add(5);    //相同的值会被忽略;

console.log(s.has(100));
console.log(s.size);

for(let val of s.value){
console.log(val);
}
for(let val of s){
console.log(val);
}

s.delete(100);
console.log(s.size);

s.clear();
console.log(s.size);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值