授人以鱼不如渔
不管是在工作中还是在学习中,我们或多或少都会用到JavScript内置的api;那么我们常用的有哪些呢?他们返回的有是什么呢?
测试数据
let arr = [ {iv:'测试1'}, {iv:'测试2'}, {iv:'测试3'}, {iv:'测试4'}, ];
let str = '我是测试数据'
findIndex:(返回索引)
查询到返回索引,查询不到返回-1;
const findIndex = arr.findIndex(v=>v.iv == '测试1');
console.log(findIndex); // 返回0
some:(返回布尔值)
查询到返回true,查询不到返回false;
const some = arr.some(v=>v.iv == '测试0');
console.log(some);// false
filter:(返回数组)
查询到返回数组,查询不到返回空数据;
const at = arr.filter(v=>v.iv == '测试0');
console.log(at);
find:(返回对象)
查询到返回对象,查询不到返回undefined;
最近才用上的,感觉在某些功能上比使用filter适用
const find = arr.find(v=>v.iv == '测试1');
console.log(find); // { iv: '测试1' }
forEach:(循环)
item:对象
index:索引
arr.forEach((item,index)=>{
console.log(item); // 对象
console.log(index); // 索引
})
map:(循环)
注意:map很大的用途是可以将数组对象中的某个数组提取出来成一个一维数组;列如:我们需要数组中的id,然后将其发送给后台等等,map就很实用;
const map = arr.map(v=>{return v.iv})
console.log(map); // [ '测试1', '测试2', '测试3', '测试4' ]
indexOf:(从前开始查询字符串)
查询到返回索引,查询不到返回-1
const indexOf = str.indexOf('数据');
console.log(indexOf);// 4
lastIndexOf:(从后开始查询字符串)
查询到返回索引,查询不到返回-1
const lastIndexOf = str.lastIndexOf('数据');
console.log(lastIndexOf); // 4
split:(将字符串转为数组)
const split = str.split(',');
console.log(split); // [ '我是测试数据' ]
join:(将数组转为字符串)
看打印信息
const map = arr.map(v=>{return v.iv});
console.log(map); // [ '测试1', '测试2', '测试3', '测试4' ]
const join = map.join(',');
console.log(join); // 测试1,测试2,测试3,测试4
// 也可以一行
const join = arr.map(v=>{return v.iv}).join(',');
console.log(join);
slice:(截取)
截取索引1-3的数据
const slice = arr.slice(1,3);
console.log(slice); // [ { iv: '测试2' }, { iv: '测试3' } ]
合并数据:
concat
const concat = arr.concat([1]);
console.log(concat); // [ { iv: '测试1' }, { iv: '测试2' }, { iv: '测试3' }, { iv: '测试4' }, 1]
展开运算符
const concat = [...arr,...[1]];
console.log(concat); // [ { iv: '测试1' }, { iv: '测试2' }, { iv: '测试3' }, { iv: '测试4' }, 1 ]
substring:(截取字符串)
const substring = str.substring(1,2);
console.log(substring); // 是