数组的方法
arr.includes()
arr.every(fn(val,i))
arr.some(fn(val,i))
arr.filter(fn(val,i))
arr.map(fn(val,i))
ar.reduce(fn(prev,current),initValue)
arr.sort()或arr.sort(fn(a,b))

arr.forEach(fn(val,i))

arr.copyWithin(target,start,end)

arr.fill(target,start,end)

1.arr.includes()

理解:判断是否包含某个元素
使用:arr.includes()
参数:
返回值:返回值是布尔值。true,false
原数组:不改变

    let arr1 = [0,1,2,3,4,5];

    let res1 = arr1.includes(5);
let res2 = arr1.includes(6); console.log('原数组',arr1); // [0,1,2,3,4,5]
console.log('返回值',res1); // true
console.log('返回值',res2); // false

2.arr.forEach(function(val,i){})判断所有

理解:循环数组
使用:arr.forEach()
参数:
返回值:没有返回值
原数组:不改变

    let arr1 = ["a","b","c","d"];

    arr1.forEach((item,i,arr)=>{
console.log(item,i,arr); //a 0 (4) ["a", "b", "c", "d"]
})

2.arr.every(function(val,i){})判断所有

理解:判断所有
使用:arr.every()
参数:
返回值:返回值是布尔值。true,false
原数组:不改变

返回值是布尔值。循环数组,每循环一次,执行一次回调函数,只要有一个元素的回调函数的返回值是false,就结束循环,结果就是false;只有所有元素符合回调函数的条件,结果就是true。

    let arr1 = [0,1,2,3,4,5];

    let res1 = arr1.every((item,i,arr)=>{
console.log(item,i,arr); //a 0 (4) ["a", "b", "c", "d"]
return item > 2
}) let res2 = arr1.every((item,i,arr)=>{
console.log(item,i,arr); //a 0 (4) ["a", "b", "c", "d"]
return item < 6
}) console.log('原数组',arr1); //["a", "b", "c", "d"]
console.log('返回值',res1); //false
console.log('返回值',res2); //true

3.arr.some(function(val,i){})判断是否含有

理解:判断是否含有。
使用:arr.some()
参数:
返回值:返回值是布尔值。true,false
原数组:不改变

返回值是布尔值。循环数组,每循环一次,执行一次回调函数,只要有一个元素的回调函数的返回值是true,就结束循环,结果就是true;只有所有元素不符合回调函数的条件,结果就是false。

    let arr1 = [0,1,2,3,4,5];

    let res1 = arr1.some((item,i,arr)=>{
console.log(item,i,arr); //a 0 (4) ["a", "b", "c", "d"]
return item > 2
}) let res2 = arr1.some((item,i,arr)=>{
console.log(item,i,arr); //a 0 (4) ["a", "b", "c", "d"]
return item > 6
}) console.log('原数组',arr1); //["a", "b", "c", "d"]
console.log('返回值',res1); //true
console.log('返回值',res2); //false

4.arr.filter(function(val,i){})

理解:过滤符合条件的元素,集合成数组
使用:arr.filter()
参数:
返回值:返回符合条件的元素组成的新数组
原数组:不改变

返回值是数组。循环数组,每循环一次,执行一次回调函数,只要元素满足回调函数的条件,就将元素添加到新数组,循环结束后,返回新数组。

    let arr1 = [0,1,2,3,4,5];

    let res1 = arr1.filter((item,i,arr)=>{
console.log(item,i,arr); //a 0 (4)  [0,1,2,3,4,5]
return item >2
}) console.log('原数组',arr1); // [0,1,2,3,4,5]
console.log('返回值',res1); // [3, 4, 5]

5.arr.map(function(val,i){})按条件映射出新的元素,集合成数组

理解:按条件映射出新的元素,集合成数组
使用:arr.map()
参数:
返回值:于原数组长度相等的新数组
原数组:不改变

返回值是数组。循环数组,每循环一次,执行一次回调函数,按照条件映射出新的元素,集合成新的数组,并返回数组。
技巧:拼接ul中li时,可以datas.map(function(){return '<li><li>'}).join('')

    let arr1 = [0,1,2,3,4,5];

    let res1 = arr1.map((item,i,arr)=>{
console.log(item,i,arr); //a 0 (4)  [0,1,2,3,4,5]
return item + 'a'
}) console.log('原数组',arr1); // [0,1,2,3,4,5]
console.log('返回值',res1); // ["0a", "1a", "2a", "3a", "4a", "5a"]

6.arr.reduce(callback,initValue)

理解:
使用:arr.reduce()
参数:
返回值:返回回调函数的计算之后的值。
原数组:不改变

callback(prevValue, currentValue)
prevValue: 上一次的值;
currentValue: 当前的值。 initValue会赋值给prevValue作为初始值,如果没有传入,那么prevValue的值为数组的第0个;callback每次返回的值将作为callback下一次执行的prevValue;循环完成以后最后一次callback返回的值将作为该reduce函数的结果。

arr.reduce()也可以完成arr.map()映射的任务。

    let arr1 = [0,1,2,3,4,5];

    let res1 = arr1.reduce(function(prev,current,i,ar){
// console.log(prev,current,i,ar)
return prev + current;
},0) console.log('原数组',arr1); // [0,1,2,3,4,5]
console.log('返回值',res1); //
//reduce--商品计价
let goods = [
{num : 3, price : 10},
{num : 1, price : 1},
{num : 2, price : 2},
{num : 3, price : 3},
]; let resGoods = goods.reduce(function (prev,current) {
// console.log(prev,current,current.num,current.price)
return prev + current.num*current.price
},0) console.log(resGoods); //

7.arr.sort(function(val,i){})

理解:重排
使用:arr.sort()
参数:
返回值:重拍之后的数组
原数组:改变

返回重排之后的数组。
a-b; 从小到大
a-b>0; 从小到大
a-b<0; 从大到小
b-a; 从大到小
b-a>0; 从大到小
b-a<0; 从小到大
1,true; 倒序
-1,false;顺序
0; 不变位置

    let arr1 = [2,5,1,8];
let res1 = arr1.sort(); //没有参数----升序 let arr2 = [2,5,1,8];
let res2 = arr2.sort((a,b)=>a-b); //a-b a-b>0 b-a<0 升序-----本质a>b let arr3 = [2,5,1,8];
let res3 = arr3.sort((a,b)=>b-a); //b-a b-a>0 a-b<0 降序-----本质b>a let arr4 = [2,5,1,8];
let res4 = arr4.sort((a,b)=>1); //1 顺序 let arr5 = [2,5,1,8];
let res5 = arr5.sort((a,b)=>-1); //-1 倒序 console.log('原数组',arr1); //[1, 2, 5, 8]
console.log('返回值',res1); //[1, 2, 5, 8] console.log('原数组',arr2); //[1, 2, 5, 8]
console.log('返回值',res2); //[1, 2, 5, 8] console.log('原数组',arr3); //[8, 5, 2, 1]
console.log('返回值',res3); //[8, 5, 2, 1] console.log('原数组',arr4); //[8, 1, 5, 2]
console.log('返回值',res4); //[8, 1, 5, 2] console.log('原数组',arr5); //[2, 5, 1, 8]
console.log('返回值',res5); //[2, 5, 1, 8]

8.Array.from()

理解:将伪数组转成数组
使用:Array.from()
参数:
返回值:转换之后的数组
原数组:

    let arr1 = '012345';

    let res1 = Array.from(arr1);

    console.log('原数组',arr1);             //
console.log('返回值',res1); // ["0", "1", "2", "3", "4", "5"]

9.Array.of()

理解:将伪数组转成数组
使用:Array.of()
参数:
返回值:转换之后的数组
原数组:

     let arr1 = '012345';

    let res1 = Array.of(arr1);

    console.log('原数组',arr1);             //
console.log('返回值',res1); // ["012345"]

10.arr.copyWithin(target,start,end)

理解:
使用:arr.copyWithin(target,start,end)
参数:

  target(必须): 从该位置开始替换数据.
  > start(可选):从该位置开始读取数据.
  > end(可选):到该位置的前一个位置.

返回值:改变之后的数组
原数组:改变

    let arr1 = ['a','b','c','d','e','f','j'];
let res1 = arr1.copyWithin(2,0); let arr2 = ['a','b','c','d','e','f','j'];
let res2 = arr2.copyWithin(2,0,1); let arr3 = ['a','b','c','d','e','f','j'];
let res3 = arr3.copyWithin(2); console.log('原数组',arr1); // ["a", "b", "a", "b", "c", "d", "e"]
console.log('返回值',res1); // ["a", "b", "a", "b", "c", "d", "e"]
console.log('原数组',arr2); // ["a", "b", "a", "d", "e", "f", "j"]
console.log('返回值',res2); // ["a", "b", "a", "d", "e", "f", "j"]
console.log('原数组',arr3); // ["a", "b", "a", "b", "c", "d", "e"]
console.log('返回值',res3); // ["a", "b", "a", "b", "c", "d", "e"]

11.arr.fill(target,start,end)

理解:将目标字符,填充数组
使用:arr.fill(target,start,end)
参数:

  target(必须): 被填充的元素.
  > start(可选):从该位置开始读取数据.
  > end(可选):到该位置的前一个位置.

返回值:改变之后的数组
原数组:改变

    let arr1 = ['a','b','c','d','e','f','j'];
let res1 = arr1.fill(2,0); let arr2 = ['a','b','c','d','e','f','j'];
let res2 = arr2.fill(2,0,1); console.log('原数组',arr1); // [2, 2, 2, 2, 2, 2, 2]
console.log('返回值',res1); // [2, 2, 2, 2, 2, 2, 2]
console.log('原数组',arr2); // [2, "b", "c", "d", "e", "f", "j"]
console.log('返回值',res2); // [2, "b", "c", "d", "e", "f", "j"]

数组Array的API1的更多相关文章

  1. Java ArrayList和Vector、LinkedList与ArrayList、数组(Array)和列表集合(ArrayList)的区别

    ArrayList和Vector的区别ArrayList与Vector主要从二方面来说.  一.同步性:   Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步 ...

  2. go 数组(array)、切片(slice)、map、结构体(struct)

    一 数组(array) go语言中的数组是固定长度的.使用前必须指定数组长度. go语言中数组是值类型.如果将数组赋值给另一个数组或者方法中参数使用都是复制一份,方法中使用可以使用指针传递地址. 声明 ...

  3. javascript类型系统——数组array

    × 目录 [1]创建 [2]本质 [3]稀疏[4]长度[5]遍历[6]类数组 前面的话 除了对象之外,数组Array类型可能是javascript中最常用的类型了.而且,javascript中的数组与 ...

  4. swift基本用法-数组array

    数组简单用法 //------------------------------------------------------------------------------ // 1. 数组定义 / ...

  5. C#中数组Array、ArrayList、泛型List<T>的比较

    在C#中数组Array,ArrayList,泛型List都能够存储一组对象,但是在开发中根本不知道用哪个性能最高,下面我们慢慢分析分析. 一.数组Array 数组是一个存储相同类型元素的固定大小的顺序 ...

  6. Javascript基础系列之(四)数据类型 (数组 array)

    字符串,数值,布尔值都属于离散值(scalar),如果某个变量是离散的,那么任何时候它只有一个值. 如果想使用变量存储一组值,就需要使用数组(array). 数组是由多个名称相同的树值构成的集合,集合 ...

  7. AS3 - 数组Array的几个常用方法(附样例)

    AS3 - 数组Array的几个常用方法(附样例) 2015-03-30 10:39发布:hangge浏览:241   Flex/Flash开发中,经常会使用到数组,下面总结了一些数组的常用方法. 1 ...

  8. Linux数组array基础

    Linux数组array基础[${a[*]}和$a的区别] Bash中,数组变量的赋值有两种方法: (1) name = (value1 ... valuen) 此时下标从0开始 (2) name[i ...

  9. 学习Swift -- 数组(Array) - 持续更新

    集合类型--数组 Array是Swift中的一种集合类型:数组,数组是使用有序列表储存同一类型的多个值,与OC的NSArray的最大不同是,Swift的数组是值类型,OC的数组是引用类型 声明数组的方 ...

随机推荐

  1. vue 数字随机滚动(数字递增)

    html: <span v-for="i in numArr">{{i}}</span>   data: numArr: [], methods: perN ...

  2. post表单翻页保存搜索条件

    问题:搜索条件下的数据,进行翻页行为后,搜索条件丢失 1.搜索表单 2.翻页 解决:既然点击页面跳转的a标签使用的方法是GET,而点击“搜索”按钮使用的方法是POST,那么可以让点击a标签实际上就是提 ...

  3. centos安装实用总结

    1.常用软件安装: yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tree dos2unix htop ...

  4. nginx日志分割

    mark 参考文章: https://blog.csdn.net/molaifeng/article/details/82667158

  5. [ Codeforces Round #554 (Div. 2) C]

    C. Neko does Maths time limit per test 1 second memory limit per test 256 megabytes input standard i ...

  6. hbase整合

    hbase與hive整合    1. hive中有數據 --> 創建hive管理表映射hbase    例如:        1)hive創建內部表            create tabl ...

  7. 如何处理Excel空行问题

    在操作excel的时候, 可能会出现很多的无效数据行. 下面是一个我的简单处理方式 public static bool DataSetToExcel(DataSet dataSet, string ...

  8. test markdown to html

    软件版本 PHP 5.5.25 Yaf 2.3.2 域名 正式域名 gm.mgame.qihoo.net demo域名 demo.gm.mgame.qihoo.net 配置 配置目录 后台配置 con ...

  9. MySQL Transaction--查看未提交事务执行的SQL

    未提交事务 长期未提交事务,指开启事务后,长时间未向MySQL发出SQL执行请求或事务处理(COMMIT/ROLLBACK)请求,在系统表`information_schema`.`INNODB_TR ...

  10. Eamon 埃蒙

    发售年份 1980 平台 AppleII 开发商 Donald Brown 类型 文字冒险 https://www.youtube.com/watch?v=uvZIxnIvRG8