add: 增加 sort()方法举例
This commit is contained in:
		
							parent
							
								
									b15f81617d
								
							
						
					
					
						commit
						0f0d6947d6
					
				@ -8,7 +8,7 @@
 | 
			
		||||
(1)数值的字面量非常简单,写上去就行了,不需要任何的符号。例如:
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
1	alert(886);  //886是数字,所以不需要加引号。
 | 
			
		||||
	alert(886);  //886是数字,所以不需要加引号。
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
(2)字符串的字面量也很简单,但一定要加上引号。可以是单词、句子等。
 | 
			
		||||
@ -21,7 +21,7 @@
 | 
			
		||||
 | 
			
		||||
如果直接使用字面量的话,非常麻烦。比如说,多个地方要用到同一个字面量,还不如事先定义一个变量,用来保存字面量。
 | 
			
		||||
 | 
			
		||||
变量更加方便我们使用,所以在开发中都是通过变量去保存一个字面量,而不会直接使用字面量。
 | 
			
		||||
变量更方便我们使用,所以在开发中都是通过变量去保存一个字面量,而不会直接使用字面量。
 | 
			
		||||
 | 
			
		||||
## 变量
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -429,6 +429,8 @@ result =["f","e","d","c","b","a"]
 | 
			
		||||
    result =["a","b","c","d","e","f"]
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
从上方的打印结果中,我们可以看到,sort方法会改变原数组,而且方法的返回值也是同样的结果。
 | 
			
		||||
 | 
			
		||||
**举例2**:(当数组中的元素为数字时)
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
@ -516,6 +518,70 @@ result =["f","e","d","c","b","a"]
 | 
			
		||||
    result =[1,2,3,4,5,11]
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### sort方法举例:将数组从小到大排序
 | 
			
		||||
 | 
			
		||||
将数组从小到大排序,这个例子很常见。
 | 
			
		||||
 | 
			
		||||
下面这段代码,在实际开发中,经常用到,一定要掌握。完整代码如下:
 | 
			
		||||
 | 
			
		||||
```html
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html lang="en">
 | 
			
		||||
    <head>
 | 
			
		||||
        <meta charset="UTF-8" />
 | 
			
		||||
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 | 
			
		||||
        <title>Document</title>
 | 
			
		||||
    </head>
 | 
			
		||||
    <body>
 | 
			
		||||
        <script>
 | 
			
		||||
            let dataList = [
 | 
			
		||||
                {
 | 
			
		||||
                    title: '品牌鞋子,高品质低价入手',
 | 
			
		||||
                    publishTime: 200,
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    title: '不是很贵,但是很暖',
 | 
			
		||||
                    publishTime: 100,
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    title: '无法拒绝的美食,跟我一起吃吃',
 | 
			
		||||
                    publishTime: 300,
 | 
			
		||||
                },
 | 
			
		||||
            ];
 | 
			
		||||
 | 
			
		||||
            console.log('qianguyihao 排序前的数组:' + JSON.stringify(dataList));
 | 
			
		||||
 | 
			
		||||
            // 将dataList 数组,按照 publishTime 字段,从小到大排序。(会改变原数组)
 | 
			
		||||
            dataList.sort(function(a, b) {
 | 
			
		||||
                return parseInt(a.publishTime) - parseInt(b.publishTime);
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            console.log('qianguyihao 排序后的数组:' + JSON.stringify(dataList));
 | 
			
		||||
        </script>
 | 
			
		||||
    </body>
 | 
			
		||||
</html>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
打印结果:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
qianguyihao 排序前的数组:[
 | 
			
		||||
    {"title":"品牌鞋子,高品质低价入手","publishTime":200},
 | 
			
		||||
    {"title":"不是很贵,但是很暖","publishTime":100},
 | 
			
		||||
    {"title":"无法拒绝的美食,跟我一起吃吃","publishTime":300}]
 | 
			
		||||
 | 
			
		||||
qianguyihao 排序后的数组:[
 | 
			
		||||
    {"title":"不是很贵,但是很暖","publishTime":100},
 | 
			
		||||
    {"title":"品牌鞋子,高品质低价入手","publishTime":200},
 | 
			
		||||
    {"title":"无法拒绝的美食,跟我一起吃吃","publishTime":300}]
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## 数组的遍历
 | 
			
		||||
 | 
			
		||||
遍历数组即:获取并操作数组中的每一个元素。在我们的实战开发中,使用得非常频繁。
 | 
			
		||||
@ -781,7 +847,6 @@ map的应用场景,主要就是以上两种。
 | 
			
		||||
 | 
			
		||||
备注:如果能熟练使用 reduce 的用法,将能替代很多其他的数组方法。
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**举例1**:
 | 
			
		||||
 | 
			
		||||
计算数组中所有元素项的总和。代码实现:
 | 
			
		||||
@ -795,7 +860,6 @@ map的应用场景,主要就是以上两种。
 | 
			
		||||
    console.log('sumValue:' + sumValue); // 打印结果:18
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## 数组的其他方法
 | 
			
		||||
 | 
			
		||||
### indexOf() 和 lastIndexOf():获取数据的索引
 | 
			
		||||
 | 
			
		||||
@ -446,14 +446,14 @@ JS中的**父子兄**访问关系:
 | 
			
		||||
 | 
			
		||||
获取节点的属性值和设置节点的属性值,都有两种方式。
 | 
			
		||||
 | 
			
		||||
**如果是节点的“原始属性”**(比如 普通标签的`class/className`属性、普通标签的`style`属性、普通标签的 title属性、img 标签的`src`属性、超链接的`href`属性等),**方式1和方式2是等价的**,可以混用。比如说:用 `div.title = '我是标题'`设置属性,用 `div.getAttribute('title')`获取属性,就是混用。
 | 
			
		||||
**如果是节点的“原始属性”**(比如 普通标签的`class/className`属性、普通标签的`style`属性、普通标签的 title属性、img 标签的`src`属性、超链接的`href`属性等),**方式1和方式2是等价的**,可以混用。怎么理解混用呢?比如说:用 `div.title = '我是标题'`设置属性,用 `div.getAttribute('title')`获取属性,就是混用。
 | 
			
		||||
 | 
			
		||||
但如果是节点的“非原始属性”,比如:
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
div.aaa = 'qianguyihao';
 | 
			
		||||
 | 
			
		||||
div.setAttribute('aaa', 'qianguyihao');
 | 
			
		||||
div.setAttribute('bbb', 'qianguyihao');
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -101,20 +101,35 @@ userAgent 的值是一个字符串,简称 **UA**,这个字符串中包含了
 | 
			
		||||
 | 
			
		||||
### 不同浏览器的 userAgent
 | 
			
		||||
 | 
			
		||||
iPhone版微信浏览器:
 | 
			
		||||
iOS 版微信浏览器:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
Mozilla/5.0 (iPhone; CPU iPhone OS 9_3 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13E233 MicroMessenger/6.3.15 NetType/WIFI Language/zh_CN
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Android版微信浏览器:
 | 
			
		||||
Android 版微信浏览器:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
Mozilla/5.0 (Linux; Android 5.0.1; GT-I9502 Build/LRX22C; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/43.0.2357.121 Mobile Safari/537.36 MicroMessenger/6.1.0.78_r1129455.543 NetType/WIFI
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
iOS 版本QQ浏览器:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_2 like Mac OS X) AppleWebKit/604.4.7 (KHTML, like Gecko) Mobile/15C202 QQ/7.3.5.473 V1_IPH_SQ_7.3.5_1_APP_A Pixel/1125 Core/UIWebView Device/Apple(iPhone X) NetType/WIFI QBWebViewType/1
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Android 版 QQ浏览器:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
Mozilla/5.0 (Linux; Android 4.4.2; PE-TL20 Build/HuaweiPE-TL20; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/6.2 TBS/043807 Mobile Safari/537.36 V1_AND_SQ_7.3.2_762_YYB_D QQ/7.3.2.3350 NetType/WIFI WebP/0.3.0 Pixel/1080
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
**参考链接**:
 | 
			
		||||
 | 
			
		||||
- [微信、QQ在Android和iOS的UserAgent](https://blog.csdn.net/taambernk520/article/details/80801574)
 | 
			
		||||
 | 
			
		||||
- [判断微信内置浏览器的UserAgent](http://www.cnblogs.com/7z7chn/p/5370352.html)
 | 
			
		||||
 | 
			
		||||
- [微信内置浏览器UserAgent的判断](https://gist.github.com/wjp2013/fff34c063cf0cf227d65)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user