add: 增加 sort()方法举例

This commit is contained in:
qianguyihao 2019-12-04 16:14:08 +08:00
parent b15f81617d
commit 0f0d6947d6
4 changed files with 87 additions and 8 deletions

View File

@ -8,7 +8,7 @@
1数值的字面量非常简单写上去就行了不需要任何的符号。例如
```javascript
1 alert(886); //886是数字所以不需要加引号。
alert(886); //886是数字所以不需要加引号。
```
2字符串的字面量也很简单但一定要加上引号。可以是单词、句子等。
@ -21,7 +21,7 @@
如果直接使用字面量的话,非常麻烦。比如说,多个地方要用到同一个字面量,还不如事先定义一个变量,用来保存字面量。
变量更方便我们使用,所以在开发中都是通过变量去保存一个字面量,而不会直接使用字面量。
变量更方便我们使用,所以在开发中都是通过变量去保存一个字面量,而不会直接使用字面量。
## 变量

View File

@ -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():获取数据的索引

View File

@ -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');
```

View File

@ -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)