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…
Reference in New Issue
Block a user