findindex()
方法返回数组中满足提供的测试函数的第一个元素的
索引
。若没有找到对应元素则返回-1
。
var arr = [1, 2, 3, 4, 5];
var str = arr.findIndex(function (itme) {
return itme > 3
})
console.log(str);
includes()会返回布尔值.判断数值是否存在 ,存在返回trun,不存在返回false,还es6新增属性.

slice()
可以从已有的数组返回新的数组
,第一参数是下标,第二个参数结束下标位置-1(半闭合),返回从下标到数组末尾的元素,前提是必须是正数,也
可以使用负数,从数组末尾的下标开始往前截取.
有数组:var arr = [1, 2, 3, 4, 5, 6, 7];
1. 将结果[4, 5]输出
2. 将结果[2, 3, 4, 5, 6]输出
3. 将结果[6, 7]输出
4. 将结果[6, 5, 4]输出
5. 将结果[7, 6]输出
var arr = [1, 2, 3, 4, 5, 6, 7]
console.log(arr.slice(3, 5));
console.log(arr.slice(1, 6));
console.log(arr.slice(-2));
console.log(arr.slice(3, 6).reverse());
console
.
log
(
arr
.
slice
(
5
,
7
).
reverse
());
toString()数组上这个方法是把数组转为字符串,直观效果是去括号(不管多少括号都可以去除),不会改变原数组,返回的是改变后的元素
var arr = [6, 22, 3, 1, 55]
console.log(arr.toString());
find()方法有三个参数,第一个参数是每一个元素,第二个参数是下标,第三个参数是原数组,返回的是条件成立返回第一个符合要求的值,找到第一个就不在寻找.
function fn(person) {
return person.age > 20
}
console.log(person.find(fn));
第二种写法
var res = person.find(function (itme, index, array) {
return itme.age > 20
})
console.log(res);
filter()方法同上都有三个参数,
第一个参数是每一个元素,第二个参数是下标,第三个参数是原数组,但是他返回的是所有符合要求的值,会将所有的都寻找到
var
res
=
person
.
filter
(
function
(
itme
,
index
,
array
) {
return itme.age > 18
})
console.log(res);
// 练习: 有如下数组, 问: 好人有哪些 ? 坏人有哪些 ?
var acts = [{
name: "大蛇丸",
isGood: false
},
{
name: "卡卡西",
isGood: true
},
{
name: "宇智波斑",
isGood: false
},
{
name: "鸣人",
isGood: true
}]
var res = acts.filter(function (itme) {
// 注意isGood本身就是一个布尔类型,所以不用==true
// 好人
// return itme.isGood
// 坏人
return !itme.isGood
})
console.log(res)
every()
方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值
,
全部满足为true,有一个不满足就是false
var res = person.every(function (itme) {
return itme.age >= 18
})
console
.
log
(
res
?
"全部满足"
:
"有一个不满足"
);
some()
方法测试数组中是不是至少有 1 个元素通过了被提供的函数测试。它返回的是一个 Boolean 类型的值。
var res = person.some(function (itme) {
return itme.age < 18
})
console
.
log
(
res
?
"有"
:
"无"
);
reduce()方法,有四个参数:累加器acc ,当前值cur(不给值,默认acc为0),可以将数组中的累计处理,一般使用乘加较多.
var arr = [1, 2, 3, 4, 5];
var res = arr.reduce(function (acc, cur) {
return acc * cur
// return acc + cur
}, 10)
console.log(res);
map()
方法创建一个新数组,这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成。
var arr = [1, 2, 3, 4, 5];
var res = arr.map(function (itme) {
return itme * 10 + "px"
})
console.log(res);
forEach()
方法对数组的每个元素执行一次给定的函数。可以代替for循环遍历每一个数组
var arr = [1, 2, 3, 4, 5];
arr.forEach(function (itme) {
console.log(arr);
})
math.pow()
函数返回基数(
base
)的指数(
exponent
)次幂,即
base^exponent
var arr = [1, 2, 3, 4, 5];
var res = arr.map(function (itme) {
// 第一种利用Math.pow()
// return Math.pow(itme, 2)
// 第二种利用Es6的方法**次幂
return itme ** 2
})
console.log(res);
什么是伪数组,我们又怎么去转化成真数组那?
// 伪数组:只有length属性
// 第一种:argumentes
function add(a, b) {
console.log(arguments);
}
add(1, 2, 3, 4, 5)
// 第二种: 字符串
var str="abcd"
console.log(str[0]);
// 第三种:DOM树
var dom=document.getElementsByTagName("p")
console.log(dom);
转化为真数组两种方法
第一种:Array.from()
function add(a, b) {
var arr = Array.from(arguments)
console.log(arr);
}
add
(
1
,
2
,
3
,
4
,
5
)
方法二:...展开运算符
function add(a, b) {
var arr = [...arguments]
console.log(arr);
}
add
(
1
,
2
,
3
,
4
,
5
)