
前端算法
慢慢の成长
摸鱼之余,来点小乐趣,写作不足之处,请大佬指教。
展开
-
javaScript检测对象是否包含有数组中的某一项
如何判断对象是否含有数组中的某项,如果没有该项则插入该项并赋值0题干:let arr = [“a”, “b”, “c”, “d”]let obj = {a:12,b:13}期望结果:res = {a:12, b:13, c:0, d:0}Method 1:arr.forEach(item => { if (obj.hasOwnProperty(item)) { obj[item] = obj[item] } else { obj[item] = 0原创 2021-03-31 10:36:54 · 217 阅读 · 0 评论 -
如何将多维数组相同索引的元素组成新的多维数组
多维数组根据下标重组新多维数组题干描述:let moreArr = [[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[6,4,7,7,8],[1,4,1,1,2],[0,0,0,0,0]]结果输出为:[[0, 0, 0, 0, 6, 1, 0],[0, 0, 0, 0, 4, 4, 0],[0, 0, 0, 0, 7, 1, 0],[0, 0, 0, 0, 7, 1, 0],[0, 0, 0, 0, 8, 2, 0]]function Tran原创 2020-07-16 12:11:07 · 571 阅读 · 0 评论 -
利用对象计算字符串出现次数
var str = 'sdfssaaasasasaasaa';var obj ={}for (let i = 0; i < str.length; i++) { if(obj.hasOwnProperty(str[i])){ let sum = str[i] obj[sum]+=1 }else{ let sum = str[...原创 2019-08-02 15:08:00 · 148 阅读 · 0 评论 -
请实现一个 uniq 函数,实现数组去重
实现一个 uniq 函数,实现数组去重原创 2019-08-05 14:41:54 · 1322 阅读 · 0 评论 -
var a=[1,5,3,2,6,1,4],写一个方法能把数组a处理成[1,6,9,11,17,18,22]。
var a=[1,5,3,2,6,1,4],写一个方法能把数组a处理成[1,6,9,11,17,18,22]。function arrSum(array){ var sum=0; return array.map(item=>{ sum+=item; return sum; });}var array=[1,5,3,2,6,1,4...原创 2019-07-22 20:25:37 · 547 阅读 · 0 评论 -
写一个函数,输入一个数组a,找到里面是否存在三个不同的元素,使得a[i] + a[j] == a[k]。如果能找到输出true,找不到输出false
写一个函数,输入一个数组a,找到里面是否存在三个不同的元素,使得a[i] + a[j] ==a[k]。如果能找到输出true,找不到输出false。举例:输入var a1 = [1,5,10,25,9,17,100];输出false输入var a2 = [2,99,3,5];可以找到2+3=5,因此输出true输入var a3 = [1,50,0,5];输出falsevar a1 =...原创 2019-07-22 20:24:30 · 1941 阅读 · 0 评论 -
一共有10个台阶,青蛙一次跳1格或者跳2格,打印出青蛙有多少种跳的过程
function jump(res=[],number=0) { // 初始值 let i = 1; while (i<3) { // 1次或2次 if (number+i<=10) { // number跳过的 i将要跳的 let _res = [...res] // res 上一步传下来的 _res....原创 2019-07-22 20:23:18 · 2612 阅读 · 0 评论 -
冒泡排序
var arr = [3, 4, 1, 2];function bubbleSort (arr) { var max = arr.length - 1; for (var j = 0; j < max; j++) { // 声明一个变量,作为标志位 var done = true; for (var i = 0; i < max - j; i++) {...原创 2019-07-22 20:22:25 · 124 阅读 · 0 评论 -
完成一个函数,接受数组作为参数,数组元素为整数或者数组,数组元素包含整数或数组,函数返回扁平化后的数组
var data = [1, [2, [ [3, 4], 5], 6]];function flat(data, result) { var i, d, len; for (i = 0, len = data.length; i < len; ++i) { d = data[i]; if (typeof d === 'number'...原创 2019-05-16 17:21:49 · 2186 阅读 · 0 评论 -
有一个大数组,var a = [‘1’, ‘2’, ‘3’, …];a的长度是100,内容填充随机整数的字符串.请先构造此数组a,然后设计一个算法将其内容去重
/** * 数组去重 **/ function normalize(arr) { if (arr && Array.isArray(arr)) { var i, len, map = {}; for (i = arr.lengt...原创 2019-05-16 17:17:49 · 671 阅读 · 0 评论