- 判断数组是否包含某个值 ---includes(es6)
const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', NaN]
console.log('%s', arr1.includes('c'))
console.log('%s', arr1.includes('z'))
console.log('%s', arr1.includes(NaN))
//includes()函数的第二个参数表示判断的起始位置
console.log('%s', arr1.includes('k', -1))
// 第二个参数也可以是负数,表示从右数过来第几个,但是不改变判断搜索的方向,搜索方向还是从左到右
console.log('%s', arr1.includes('k', -1))
2 . 一个表示给定对象的所有可枚举属性的字符串数组。
Object.keys(obj)
// demo vue注册全局filter
Object.keys(filters).forEach(key => {
Vue.filter(key, filters[key])
})
- 数组元素累加
reduce
var numbers = [65, 44, 12, 4];
function getSum(total, num) {
return total + num;
}
function myFunction(item) {
document.getElementById("demo").innerHTML = numbers.reduce(getSum);
}
对象或者数组展开到其他地方
...扩展运算符
可以用于深拷贝对象遍历
Object.keys(obj)
Object.keys返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含 Symbol 属性)的键名。数组拷贝
Array.from()方法从一个类似数组或可迭代对象中创建一个新的数组实例。Set、map、数组的概念
// map, key value,类似于一个二维数组
var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']])
m.forEach(function (value, key, map) {
console.log(value,key,map);
})
// set 没有索引
var a = new Set(['A', 'B', 'C']);
a.forEach(function (element, element2, array) {
console.log(element,element2,array);
});