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