
数组
蒲小若
这个作者很懒,什么都没留下…
展开
-
js数组的find()、findIndex()、filter()、
find():找到一个合适条件的就返回,不再往下走var people = [{ id: 1, name: 'xiewenting' }, {id: 2, name: 'puxiaoruo'}]var findTest = people.find(item => { if (item.id === 1) { return true }})c...原创 2020-03-18 10:11:51 · 492 阅读 · 1 评论 -
JS数组reduce()方法
arr.reduce(function(prev,cur,index,arr){...}, init);或者arr.reduce(function(prev,cur,index,arr){...},);arr表示将要原数组;prev表示上一次调用回调时的返回值,或者初始值 init;cur表示当前正在处理的数组元素;index表示当前正在处理的数组元素的索引,若提供 i...转载 2020-03-09 14:01:27 · 205 阅读 · 0 评论 -
数组的 reduce 和 filter 与 map 的组合
Array.filter(fn)和Array.map(fn):用于过滤数组后再重新创造一个新的数组,缺点是过滤的时候需要把数组过滤一遍,用map创造一个新的数组的时候还需要把过滤过的数组再重新走一遍,效率较低。 Array.reduce(fn):一个函数就完成了上面两个函数所要完成的步骤,且再过滤的过程中就可以把过滤到的数组元素拼接到新的数组中。 如下图:注:两...原创 2019-12-31 16:28:05 · 461 阅读 · 0 评论 -
数组 find 和 some
Array.some(fn):当要知道数组中是否存在一个元素时用到,返回一个boolean值,也是和Array.find(fn)最大的区别原创 2019-12-31 16:27:13 · 1544 阅读 · 0 评论 -
数组 find 和filter
以上两个方法都是通过回调函数进行数据的返回 Array.filter(fn):在经过回调函数后,返回的是过滤后的仅有符合过滤条件的的数组 Array.find(fn):在经过调用函数后,一旦遇到满足条件的元素就会返回该元素并不再往下走 如下图: ...原创 2019-12-31 16:26:30 · 534 阅读 · 0 评论 -
数组中的includes和indexOf
Array.includes(value):返回一个布尔值,value是否在数组中 Array.indexOf(value):如果value在数组中,则返回value在数组中的下标;否则返回-1 当只想确定一下value是否在数组中时,可使用Array.includes()来替代Array.indexOf(); 如下图: ...原创 2019-12-31 16:25:49 · 437 阅读 · 0 评论 -
每N毫秒输出一个元素
const oneByOne = (sayWords, n) => { let i = 0; Object.keys(sayWords).forEach(key => { sayWords[key].forEach(value => { setTimeout(() => { console.log(val...原创 2019-10-21 11:02:48 · 129 阅读 · 0 评论 -
数组扁平化
const deepFlatten = arr => [].concat( ...arr.map( v => (Array.isArray(v) ? deepFlatten(v) : v) ) ) deepFlatten([1, [1], [3,[4]], 5]) //输出[1,2,3,4,5]原创 2019-10-21 10:57:59 · 121 阅读 · 0 评论 -
起始值为0的顺序数组
const getIwantLenArr = l => { return Array.from(new Array(l).keys()) } getIwantLenArr(5) // 输出 [0,1,2,3,4]原创 2019-10-21 10:54:34 · 209 阅读 · 0 评论 -
改成标识钱的字符串
function replaceMoney(str) { return str.replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, '$1,') } replaceMoney('1314.11') // 输出 1.314.11原创 2019-10-21 10:52:04 · 139 阅读 · 0 评论 -
数组找索引
const indexIwant = (arr, val) => arr.reduce((acc, el, i) => (el === val ? [...acc, i] : acc), []);indexIwant([1,2,3,1,2,3], 2) // 输出[1, 4]indexIwant([1,2,3], 4) // 输出[]indexIwant(arr, 想要找索引...原创 2019-10-21 10:44:09 · 312 阅读 · 0 评论 -
数组找不同
之前已选的与当前选择的对比,保留相同的,去掉后者没有的,添加前者没有的。(代码为前者独有的元素,数组交换顺序即可获得后者独有的) // 数组找不同 const difference = (a, b) => { return a.filter(x => !new Set(b).has(x)) } difference([1,2,5], [3,4,5]) // 输出 [...原创 2019-10-21 10:37:53 · 299 阅读 · 0 评论 -
数组找相同
// 数组找相同 const common = (a, b) => { return a.filter(x => new Set(b).has(x)) } common([1,2,5], [3,4,5]) // 输出[5]原创 2019-10-21 10:36:01 · 252 阅读 · 0 评论 -
随机选择数组中一个
const randomSelect = arr => arr[Math.floor(Math.random() * arr.length)]; randomSelect([1,2,3]) // 随机输出数组中的某个元素原创 2019-10-21 10:34:47 · 383 阅读 · 0 评论 -
数组求平均数
// 求平均数 const average = (...numArr) => numArr.reduce((acc, val) => acc + val, 0) / numArr.length; // average(...[1,2,3,4,5]) console.log(average(...[1,2,3,4,5])) // 输出为3...原创 2019-10-21 10:32:08 · 1490 阅读 · 0 评论