20170521
日期格式转换
将国际标准格式转换为"年/月/日"
将日期格式将日期格式"20/05/2017" 转为 "2017-05-20"
练习1
formatDate1 (data) {
// 将国际标准时间转换成'年/月/日'
// 1.创建一个日期
// 2.分别获取年月日的值
// 3.将年月日的值拼接成指定格式
let dateStr = new Date(data)
let year = dateStr.getFullYear()
let month = dateStr.getMonth() + 1
let day = dateStr.getDate()
// es6 模版字符串 什么时候会用到?
console.log(`${year}/${month}/${day}`)
return `${year}/${month}/${day}`
}
思考:模版字符串使用场景?
字符串里解析变量、函数、表达式
多行 trim()、特殊符号转义
嵌套使用
参考:
练习2
formatDate2 (data) {
// 将日期格式 "20/05/2017" 转为 "2017-05-20"
let str = data
let newStr = ''
// 1.split() 分割字符串
// 2.数组倒序reverse()
// 3.将数组转换成字符串
newStr = str.split('/').reverse().join('-')
return newStr
}
数组常用的属性和方法
其实看完文档基本上就忘记了,所以要对内容进行分类方便以后要用的时候方便查找 https://developer.mozilla.org...
总结每种操作对应的方法、对原数组有无更改
更改了原数组的内容和长度:push() unshift()/pop() shift() splice()
不改变原数组长内容和长度:concat() slice() forEach() map()
1. 添加元素
push() 从数组末尾添加元素,返回新数组的length
[].push.call() 添加对象unshift() 将元素添加到数组开头,并返回新数组长度
splice()
2. 删除元素
pop() 从数组中删除最后一个元素,并返回该元素的值,数组为空返回undefined
shift() 从数组中删除第一个元素,并返回该元素的值, 数组为空返回undefined
splice()
3. 合并数组
push() Array.prototype.push.apply(arr1, arr2) 将arr2添加到arr1
concat() 合并多个数组,返回一个新数组,不会更改原数组
4. 过滤数组
fliter() 以某种规则筛选出通过的元素,返回一个新数组
5. 查找元素
find()
findIndex()
6. 遍历数组
forEach() 对数组每个元素执行一次函数 没有办法终止或跳出循环
map() 给数组中的每个元素执行某种操作,不改变原数组,返回值为一个新数组
forEach()和map() 的区别
7. 排序
sort()
reverse()
8. 类型转换
join() 数组-字符串
9. 浅拷贝数组
slice() [start, end) 选择一部分拷贝到一个新数组对象,原数组不改变,start从0开始计算
将类数组对象和集合转换成一个数组,只需将方法绑定到这个对象上即可Array.prototype.slice.call(Object)
10. 迭代器
keys()
entries()
11. 计算
reduce()
经常忘记的具体用法
push 添加元素
描述:push() 从数组末尾添加元素,返回新数组的length
合并数组Array.prototype.push.apply(arr1, arr2) 将arr2添加到arr1
像数组一样给对象添加对象
var obj = {
length: 0,
addElem: function addElem (elem) {
[].push.call(this, elem)
}
}
obj.addElem({
a: 1
})
obj.addElem({
b: 2
})
console.log(obj.length, obj) //2 Object
slice 浅拷贝数组
[start, end) 选择一部分拷贝到一个新数组对象,原数组不改变,start从0开始计算
将类数组对象和集合转换成一个数组,只需将方法绑定到这个对象上即可Array.prototype.slice.call(Object)
filter 过滤数组
// 以某种规则筛选出通过的元素,返回一个新数组
let arr = [1, 2, 3, 4]
function fn (value) {
return value % 2 === 0
}
console.log(fn(4)) // true
console.log(fn(3)) // false
console.log(arr.filter(fn)) // 2, 4
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。