- 博客(11)
- 收藏
- 关注
原创 First non-repeating character
编写一个名为的函数first_non_repeating_letter,该函数接受字符串输入,并返回字符串中任何地方都没有重复的第一个字符。例如,如果给定input ‘stress’,则该函数应返回’t’,因为字母t在字符串中仅出现一次,并且在字符串中首先出现。另一个挑战是,大写和小写字母被认为是同一字符,但该函数应为首字母返回正确的大小写。例如,输入’sTreSS’应返回’T’。如果字符串包含所有重复的字符,则应返回一个空字符串("")或None-请参见示例测试。结果function first
2021-05-27 14:04:04 411
转载 JS 中深拷贝的几种实现方法
JS 中深拷贝的几种实现方法1. 使用递归的方式实现深拷贝 //使用递归的方式实现数组、对象的深拷贝 function deepClone1(obj) { //判断拷贝的要进行深拷贝的是数组还是对象,是数组的话进行数组拷贝,对象的话进行对象拷贝 var objClone = Array.isArray(obj) ? [] : {}; //进行深拷贝的不能为空,并且是对象或者是 if (obj && typeof obj ===
2021-05-24 14:12:25 1095
原创 CodeWars —— A Chain adding function
add(1); // 1add(1)(2); // 3add(1)(2)(3); // 6add(1)(2)(3)(4); // 10add(1)(2)(3)(4)(5); // 15在我们平时对函数进行 console.log 打印时,会直接将函数的内容打印在控制台上,这是因为隐式地调用了toString方法,将函数转成了字符串输出。结果function add(num){ let count = num function sum(num2){ count += num2 r
2021-05-13 17:05:41 312
原创 CodeWars —— Break camelCase
Complete the solution so that the function will break up camel casing, using a space between words.Example"camelCasing" => "camel Casing""identifier" => "identifier""" => ""我的function solution(string) { return string.s
2021-05-13 16:00:22 407
转载 JS数组扁平化的5种方法
var arr1 = [1, [2, 3], [[3, 4, 2], 1], 5, [3]]; => [1, 2, 3, 3, 4, 2, 1, 5, 3]var arr2 = [1,['2', 3], [2], '2', 4] => [1, "2", 3, 2, "2", 4]1.经典:递归思路:循环数组,判断arr[i]是否是数组,是数组的话再次调用此函数。function flatten(arr) { var res = []; for(var i =.
2021-05-10 13:43:30 551
原创 Array.from() and new Set()
Array.from()Array.from({ length: 5 }, _ => 0)// [0,0,0,0,0]含义:计算出length为5,每一项均为0的数组基本用法可用作数组递增function range(ends) { return Array.from({length: ends}, (_, i) => i + 1) } console.log(range(3)); // [1, 2, 3]可以将Unicode编码拆解成数组cons
2021-05-08 16:19:27 238
原创 Simple Pig Latin
Simple Pig LatinDescription:Move the first letter of each word to the end of it, then add “ay” to the end of the word. Leave punctuation marks untouched.ExamplespigIt('Pig latin is cool'); // igPay atinlay siay oolcaypigIt('Hello world !'); // ell
2021-05-08 13:55:58 158
原创 数组/字符串去重
实现数组去重的思路1.建立一个新的数组,将原始数值中的数值,向新的数组中写入2.判断新数组是否有原数组的内容,没有的话执行写入,有的话跳过。这里的判断操作需要用到indexOf。我们知道当数组中没有要查找的值时,indexOf()函数输出的结果是 -1 。我们可以根据这点来进行判断操作。首先我们创建一个原始数组。var arr = [1,1,1,1,1,2,2,2,2,2,2,3,3,3...
2020-03-22 21:09:16 242
原创 JS利用for多重循环制作9*9乘法表
在JavaScript中,多重for循环作为比较复杂的循环程序,新手刚接触时总是有些难以理解,今天,我们对for循环做一个简单的分析介绍。要想理解多重for循环,首先我们需要对单个for循环有基本的认识。单个for循环for循环和while循环的作用一样,区别就是二者在写法上的区别。由于for循环相对while循环在写法上比较集中,在实际工作中不容易出错。所以在复杂程序中我们一般都采用fo...
2020-03-14 22:40:52 2419
原创 flex布局
2009年,W3C提出了一种新的布局方案——flex布局,可以让我们简洁,完整地实现各种页面布局。目前,flex布局已经得到了所有浏览器的支持。下面,让我们先来了解flex布局的基本属性。实现flex布局需要指定一个容器,任何一个容器都可以被指定flex布局。这样,容器内部的元素就可以使用flex来进行布局。flex容器属性可以设置到容器上的总共有六个属性,它们分别是:flex-dir...
2020-03-01 18:39:29 341
原创 css相对定位与绝对定位
css相对定位与绝对定位通常情况下,我们用css定位来解决容器叠加排列的 问题,而用浮动解决左右排列的问题。position属性的值主要有static,relative,absolute,fixed和sticky这几种,position属性的默认值为static,也就是没有定位,元素在正常的文档流中,这时候给元素加偏移量(left,right,top,bottom)是不会生效的。包括z-in...
2020-02-23 17:38:54 472
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人