1.对象简洁表示法

原来写法

    var name = "lzf";
var gender = "male";
var fn = function(){console.log(1);} var obj = {
name:name,
gender:gender,
fn:fn,
fn2:function(){
console.log(2)
}
};
console.log( obj );
obj.fn2();
obj.fn();

简洁写法

    var name = "zm";
var gender = "male";
var fn = function(){console.log(1);} var obj = {
name,
gender,
fn,
fn2(){
console.log(2)
}
};
console.log( obj );
obj.fn2();
obj.fn();

2.Array.map( )

map( ): 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map( ): 方法按照原始数组元素顺序依次处理元素。

注意: map() 不会对空数组进行检测。
注意: map() 不会改变原始数组。

举例一:

    var arr=[10,,12,13];
//item:表示数组每一项的值
//index:表示下标
//arr:表示数组
var res=arr.map(function (item,index,arr) {
console.log( item,index,arr );
})

运行结果:

举例二:

var arr=[10,11,12];
var res=arr.map(function (item,index,arr) {
console.log( item,index,arr );
arr.shift();
})

运行结果:

举例三:

    var arr = [100,,300];

    arr[10] = 1000;

    var res = arr.map( function(item){
return item * 10
} );
console.log( res );//[1000, empty, 3000, empty × 7, 10000]
console.log( arr );//[100, empty, 300, empty × 7, 1000]

3.Array.filter( )

filter( ) : 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素

注意: filter( ) 不会对空数组进行检测。
注意: filter( ) 不会改变原始数组。

var arr = [1, 5, 8, 7, 2, 4];
var res = arr.filter(item => item < 5);
console.log(res);//[1, 2, 4]

4.Array.every( )

只要有一次 回调函数 执行 返回值 为 假 就立刻 停止 并且 every返回值为假

    var arr = [1,-5,2,3,34,54,56];
var res = arr.every( item => {
console.log( item );
return item > 0;
});
console.log( res );

运行结果:

5.Array.some( )

只要 有一次 回调函数 执行 返回值 为 ,就立刻 停止 并且 some返回值为真

    var arr = [1,-5,2,3,34,54,56];
var res = arr.some( item => {
console.log( item );
return item > 0
} );
console.log( res );

运行结果:

6.Array.reduce( )

举例说明一:

 //reduce( fn[,attr1] )
//其中fn是函数,attr1是参数
//fn函数有两个参数a,b。
//第一次执行a的值为attr1,b的值为数组第0项
//第二次执行a指的是第一次执行的返回值,b的值为数组第1项
//第三次执行a指的是第二次执行的返回值,b的值为数组第2项
//直到遍历数组的全部内容,返回最终结果。
var arr = [1,2,3,4,5];
var res = arr.reduce( function( a,b ){
console.log( a,b );
return a+b
},100); console.log( res );

运行结果为:

举例说明二:

//reduce( fn )
//其中fn是函数,当没有第二个参数时。
//fn函数有两个参数a,b。
//第一次执行a的值为数组第0项,b的值为数组第1项
//第二次执行a指的是第一次执行的返回值,b的值为数组第2项
//第三次执行a指的是第二次执行的返回值,b的值为数组第3项
//直到遍历数组的全部内容,返回最终结果。
var arr = [1,2,3,4,5];
var res = arr.reduce( function( a,b ){
console.log( a,b );
return a+b
});
console.log( res );

运行结果为:

7.Array.includes( )

includes( ) 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。

var arr = [1,2,3,4,undefined,false,5,"a",null,NaN];

console.log( arr.includes( "a" ) );//true
console.log( arr.includes( NaN ) );//true
console.log( arr.includes( "1" ) );//false
console.log( arr.includes( null ) );//true
console.log( arr.includes( undefined ) );//true
console.log( arr.includes( false ) );//true

8.Array.fill( )

fill( ):填充数组,返回新数组,改变原来数组。

这个博客对fill( )的用法写的更清楚,想进一步了解请点击

var arr = [1,2,4,3];
var res = arr.fill( ["a","b"]);
console.log( arr );
console.log( res );

运行结果:

9.Array.of( )和Array.from( )

Array.of( )

var arr = Array.of( 4,5,6,7 );
console.log( arr );// [4, 5, 6, 7]

Array.from( ):将类数组转化为数组。有三个参数,并没有深入研究。

<body>
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<script>
var lis = document.getElementsByTagName("li");
var res = Array.from( lis );
console.log( res );
res.push( 2 );
console.log( res );
</script>

运行结果:

11.Array.find( )和Array.findIndex( )

find( )函数用来查找目标元素,找到就返回该元素,找不到返回undefined。

findIndex( )函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。

<body>
<ul>
<li>1</li>
<li>2</li>
<li>5</li>
<li>3</li>
<li>5</li>
</ul>
<script>
var lis = document.getElementsByTagName("li");
var res1 = Array.from(lis).find( function( item,index,arr ){
console.log( item,index,arr );
return item.innerHTML === "50";
} );
console.log( res1 );
//------------------------------------------
var res2 = Array.from(lis).findIndex( function( item,index,arr ){
console.log( item,index,arr );
return item.innerHTML === "5";
} )
console.log( res2 );
</script>
</body>

运行结果:

JS基础入门篇(四十三)—ES6(二)的更多相关文章

  1. JS基础入门篇(三十五)—面向对象(二)

    如果没有面向对象这种抽象概念的小伙伴,建议先看一下我写的JS基础入门篇(三十四)-面向对象(一)

  2. FPGA基础入门篇(四) 边沿检测电路

    FPGA基础入门篇(四)--边沿检测电路 一.边沿检测 边沿检测,就是检测输入信号,或者FPGA内部逻辑信号的跳变,即上升沿或者下降沿的检测.在检测到所需要的边沿后产生一个高电平的脉冲.这在FPGA电 ...

  3. JS基础入门篇(二十七)—BOM

    虽然上次写到js基础篇(二十四),这次直接写到(二十七).是为了提醒自己中间有几篇没写.特此说明一下啊. 1.window.open() 使用a标签呢,点击一下a标签页面才会跳转,有时候我们需要做的操 ...

  4. JS基础入门篇(二十四)—DOM(下)

    1.offsetLeft/offsetTop offsetLeft/offsetTop : 到定位父级节点的距离. <!DOCTYPE html> <html lang=" ...

  5. JS基础入门篇(二十四)—DOM(上)

    1.常用的节点类型,nodeType,attributes,childNodes. 1.元素节点 - 1 2.属性节点 - 2 3.文本节点 - 3 4.注释节点 - 8 5.文档节点 - 9 查看节 ...

  6. JS基础入门篇(四)—this的使用,模拟单选框,选项卡和复选框

    1.this的使用 this js中的关键字 js内部已经定义好了,可以不声明 直接使用 this的指向问题 1. 在函数外部使用 this指向的是window 2. 在函数内部使用 有名函数 直接调 ...

  7. JS基础入门篇(三十四)— 面向对象(一)

    1.对象 对象的定义 : 对象 是 由 键值对 组成的无序集合. 创建对象两种方法 : 方法一 : 字面量方法 var obj = {name: "k"}; 方法二 : new O ...

  8. JS基础入门篇(二十)—事件对象以及案例(二)

    案例一.点击按钮,选中input中的全部内容 select()方法:选中全部. 点击按钮选中输入框中的内容!!!! <!DOCTYPE html> <html lang=" ...

  9. JS基础入门篇(十二)—JSON和Math

    1.JSON JSON: 对象格式的字符串 轻量的数据传输格式 注意事项: 键名 需要 使用 双引号 包起来 JOSN有两个方法:JSON.parse和 JSON.stringify. JSON.pa ...

随机推荐

  1. PHPcms编辑器如何粘贴带格式的word文档

    在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper. 通过知乎提供的思路找到粘贴的原理,通过TheViper找 ...

  2. 定义一个JobService,开启本地服务和远程服务

    @SuppressWarnings(value = ["unchecked", "deprecation"])@RequiresApi(Build.VERSIO ...

  3. http://research.google.com/archive/mapreduce.html

    http://research.google.com/archive/mapreduce.html

  4. jmeter之关联的使用(正则、json)

    部分接口的测试中,一个接口会依赖上一个接口的响应信息,但上一个接口的响应信息又不是固定不变的,这时候,需要提取上一个接口的响应信息,将二者每一次的信息关联起来 目录 1.应用场景 2.jmeter正则 ...

  5. 第 4 章 前端基础之jquery

    一.jQuery是什么? 1. jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team. 2. jQuery是继prototype之后又一 ...

  6. CodeForce-1196D2-RGB Substring (hard version)

    原题链接 题目大意与上题完全一样,只是数据规模更大. 思路: 再用上题的暴力肯定TLE,所以需要优化一下搜索过程.上一题我们是外层遍历n,内层遍历3种情况.这题我们外层遍历3种情况,内层遍历数组,记录 ...

  7. 队列问题非STL解决方案

    队列问题非STL解决方案 常年使用STL解决队列问题,以至于严重生疏队列的根本原理... 直到今日 被老师被迫 使用算法原理解决问题,方才意识到我对队列一窍不通... ...直到 经过一系列的坑蒙拐骗 ...

  8. upc 组队赛18 STRENGTH【贪心模拟】

    STRENGTH 题目链接 题目描述 Strength gives you the confidence within yourself to overcome any fears, challeng ...

  9. Robotframework使用DatabaseLibrary连接mysql数据库

    Robotframework使用DatabaseLibrary连接mysql数据库 进行数据库操作,需要安装相应的操作库.DatabaseLibrary是常用的库之一,它能兼容MySQL.Oracle ...

  10. linux 查看 python 安装包路径

    [root]# python -c "import fasttext;print(fasttext)"<module 'fasttext' from '/root/anaco ...