Nola

Results 8 comments of Nola

把数字转成字符串,利用正则进行字符串匹配 传入 n,输出 1-n 之间出现 1 的次数 ```JS let foo = n => { let arr = Array.from(new Array(n + 1).keys()) arr.splice(0,1) return JSON.stringify(arr).match(/1/g).length } foo(10) // 2 ```

思路:遍历arr1,看看值在arr2中是否存在,如果在arr2中存在,就把对应的值放到一个新的数组中。 ``` function getCoincide (arr1, arr2) { var arr = [] var arr22 = arr2 arr1.forEach(item => { let temp = arr22.indexOf(item) if(temp !== -1){ arr.push(arr22[temp]) arr22.splice(temp,1) } }) return...

```JS let normalize = str => { let result = {} let c // 字符串转化为数组 let arr = str.split(/[\[\]]/g).filter(Boolean) // 生成结构化数据 arr.forEach((item, index) => { if(index != 0) { c.children...

思路: 1. 先把数组中的0全部去掉 2. 对比初始数组和去掉0后的数组的长度 3. 长度相差多少就在数组末尾添加几个0 ```js const result = (arr) => arr.filter(Boolean).concat([...Array(arr.length - arr.filter(Boolean).length).fill(0)]) result([0,1,0,3,0,12,0]) // [1, 3, 12, 0, 0, 0, 0] ```

循环字符串,判断是小写还是大写,小写的转化成大写,大写的转化成小写,其他类型的不做处理 ```js let str = 'aBc' let newStr = '' for(let i of str) { if(/[a-z]/.test(i)) { i = i.toUpperCase() } else if(/[A-Z]/.test(i)) { i = i.toLowerCase() } newStr +=...

```js // 随机生成长度为 10 的整数 let arr = function randomArray() { let arr = [] for(let i = 0; i < 10; i++) { arr.push(Math.floor(Math.random() * 100)) } return arr...

ES6 写法 ```JS function unique(arr) { return Array.from(new Set(arr.map(JSON.stringify))).map(JSON.parse) } ```

返回一个数组,其值为所有符合条件的数字。 ```js // 方法一 [...Array(10000).keys()].filter(i => i.toString().length > 1 && i == i.toString().split('').reverse().join('')) // 方法二 [...Array(10000).keys()].filter(i => i > 10 && i == [...i + ''].reverse().join('')) ```