发表于: 2020-03-13 23:22:17
0 1473
今天完成的事情:
//去掉字符串中的空格和制表符,首字母大写
var str = "hello\t word\n \rjs";
function bigCamel(s) {
var result = "";
var record = " \n\t\r"
for (var i = 0; i < s.length; i++) {
if(!record.includes(s[i])){
if(i===0 || record.includes(s[i-1])){
result+=s[i].toUpperCase()
}else{
result+=s[i]
}
}
}
return result;
}
console.log(bigCamel(str))
var str = "hello word js";
function rec(s) {
//只考虑有空格的情况
return s.split(" ").filter(function (item) {
return item.length > 0;
}).map(function (item) {
return item[0].toUpperCase() + item.slice(1).toLowerCase()
}).join("")
}
console.log(rec(str))
//取随机数字大写和小写字母组合
function joint(n, r) {
var character = "";
for (var i = 48; i < 58; i++) {
character += String.fromCharCode(i)
}
for (var i = 65; i < 91; i++) {
character += String.fromCharCode(i)
}
for (var i = 97; i < 123; i++) {
character += String.fromCharCode(i)
}
var result = "";
for (var j = 0; j < n; j++) {
var b = r(0, character.length - 1);
result += character[b]
}
return result;
}
function ran(min, max) {
//取最小最大值
return Math.floor(Math.random() * (max + 1 - min) + min);
}
console.log(joint(5, ran))
明天计划的事情:
学习正则表达式
遇到的问题:
收获:
# Array构造器
凡是通过Array构造函数创建的对象,都是数组
- from方法:可以将一个维数组转换为真数组
```js
var arr = Array.from(arguments);
```
- Array.isArray方法:判断一个给定的数据,是否为一个真数组
- Array.of方法:类似于中括号创建数组,依次赋予数组每一项的值
- fill方法:用某个数据填充数组,
数组.fill(数组,开始下标):将数组从开始下标起,到数组的末尾,填充为指定数据
数组.fill(数组,开始下标,结束下标):将数组从开始下标起,到数组的结束下标(取不到),填充为指定数据
- 数组.pop():删除数组的最后一项,该表达式返回最后一项数据
- 数组.push(数据):向数组末尾添加一个数据
- reverse:将当前数组颠倒顺序
- sort:对数组进行排序
- - 数组. unshift(数据):想数组起始位置添加一个数据,会导致数组每一项的下标向后移动
- 数组.splice(下标,0,添加的数据):从指定下标位置开始,删除0个,然后在该位置插入添加的数据,如果下标超过范围,则按照范围的边界进行处理
-
push、unshift、splice可以添加多个数据
- 数组.join(分隔符):该函数返回一个字符串
- - 数组.slice(起始位置下标,结束位置下标):将起始位置到结束位置之间的数据拿出来,得到一个新的数组,该函数不会改变原数组;注意:结束下标取不到
下标可以写负数,如果是负数,则从数组的末尾开始计算
如果不写结束下标,则直接取到末尾
- 数组清空
数组.splice(0,数组.length)
- 查找数组中某一项的下标
数组.indexOf(数据)
从数组中依次查找对应的数据,查找时使用严格相等进行比较,找到第一个匹配的下标,返回
如果没有找到,则得到-1
数组.lastIndexOf(数据)
功能和indexOf类似,只是查找的是最后一个匹配的下标
- 数组.forEach:遍历数组
第一个参数组当前元素,第二个参数表示数组的下标,第三个参数数组本身
```js
var arr = [2, 3, 1, 4, 5, 6];
arr.forEach(function (item) {
console.log(item)
})
```
- every:是否所有元素都满足条件
- some:是否至少有一个元素满足条件
- filter:过滤,得到满足条件的元素组成的新数组
- find:查找第一个满足条件的元素,返回元素本身,如果没有找到,返回undefined
- findIndex:查找第一个满足条件的元素,返回元素的下标
- map:映射,将数组的每一项映射成为另外一项
- reduce:统计,累计
- isNaN:判断是不是NaN
- isFinite
- Number.isInteger():判断一个数据是不是整数
- ParseFloat:将一个数据转换为小数
- parseInt:将一个数据转换为整数,直接舍去小数部分,可以传入第二个参数,表示将给定的字符串,识别为多少进制
parseInt、parseFloat要求参数是一个字符串,如果不是字符串,则会先转换为字符串
从字符串开始位置进行查找,找到第一个有效数字进行转换,如果没有找到,则返回NaN,左右空白字符会忽略
- toFixed方法:保留小数点后几位,会有四舍五入
- toPrecision:以指定的精度返回一个数字字符串
- String.fromCharCode():通过unicode编码创建字符串
- length:字符串长度
字符串是一个伪数组,可以循环
- charAt():得到某个下标的内容,超出是空字符串
- charCodeAt():得到某个字符位置的编码,超出是NaN
- concat():连接两个字符串文本,并返回一个新的字符串
- includes():判断一个字符串里是否包含其他字符串,第二个参数是从什么下标开始查找
- endsWith():判断一个字符串是否以什么元素结尾,返回boolean
- startsWith():判断一个字符串是以什么元素开始
- indexOf():找到首次出行元素的下标并返回,没找到返回-1
- lastIndexOf:找到最后一次出行元素的下标并返回,没找到返回-1
- padStart(字符串长度,"填充的内容"):满足条件不填充,不满足条件在开始位置填充
- padEnd()在末尾填充
- repeat(3):返回新的字符串,重复指定次数
- slice():一个参数表示取下标为几的元素(1直接删除第一位),2个参数表示取到几,末尾取不到//位置可以是负数
- substr():从某个位置开始取,取指定的长度,位置可以是负数
- substring():第一个参数为起始位置,第二个参数为结束位置,不可以是负数,如果是负数会自动转换为0,参数为止是可调换的,第一个参数比第二个参数大会自动交换
- toLowerCase():将字符串转换为小写
- toUpperCase():将字符串转换为大写
- trim():表示去掉首尾(空格)空白
- trimStart():去掉左侧的(空格)空白
- trimLeft():去掉右侧的(空格)空白
- split():分割字符串,可以分割成数组
评论