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. app中使用

    KeepLive.startWork(this, KeepLive.RunMode.ROGUE, ForegroundNotification("Title", "mes ...

  2. HDU 5632 Rikka with Array [想法题]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5632 ------------------------------------------------ ...

  3. win2016

    slmgr /ipk CB7KF-BWN84-R7R2Y-793K2-8XDDG slmgr /skms kms.03k.org slmgr /ato

  4. WPF属性之理解附加属性

    附加属性,顾名思义,和被附加的控件没有依赖关系,只是强行给目标控件挂上一个“属性值”,以便于操作之.就好比,你在学校是学生,那么就要听老师的管教,在公司是下属,就要服从老板的命令一样. 我们常见的附加 ...

  5. HTML-lang属性规定元素内容的语言

    所有浏览器均支持 lang 属性. 属性lang是英语language的缩写,意思是语言,”en”代表英语,”zh-CN”代表中文 注释:lang 属性在以下标签中无效:<base>, & ...

  6. Convolutional Neural Networks(1): Architecture

    Concolutional Neural Networks(CNN)同样使用三层结构,但结构上同Feedforward Neural Network有很大不同,其结构如下图: Input layer: ...

  7. jmeter 非GUI执行测试,没有响应数据保存到jtl文件办法

    估计是jmeter为了减轻客户机负担,就没又默认把这些信息保存,如果想要保存,也可以,需要做出如下配置: 修改bin目录下的user.properties文件,追加配置: jmeter.save.sa ...

  8. JPA Example查询

    //创建查询条件数据对象 Customer customer = new Customer(); customer.setAddress("河南省郑州市"); customer.s ...

  9. Spring Boot静态资源

    1.4 SpringBoot静态资源 1.4.1 默认静态资源映射 Spring Boot 对静态资源映射提供了默认配置 Spring Boot 默认将 /** 所有访问映射到以下目录: classp ...

  10. [NOIP2016]借教室

    NOIP2012提高组D2T2. 这道题目非常基础,正解貌似是二分+差分数组,在这里提供一种线段树的思路. 很容易发现题目让我们每次修改一段区间,然后我们只需要看每一个区间内有没有负数就可以了.可以用 ...