js练习题

1、数组去重

let arr = [1,2,3,4,55,66,123,1,2,3]

解: 
let arr1 = arr.filter((val,index) => arr.indexOf(val) === index) 
arr1 则是去重后的数组

解:
let arr1 = []
arr.forEach((val,index) =>{
    if(arr1.indexOf(val) === -1){
        arr1.push(val)
    }
})
arr1 则是去重后的数组

注意: 

filter
它用于把Array的某些元素过滤掉,然后返回剩下的元素。

和map()类似,Array的filter()也接收一个函数。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素。

2、查看字符串重复个数

let str = 'caibaojian.com'

解: 
 let str = 'caibaojian.com'
let obj = {}
let arr = str.split('')
arr.forEach(val => {
    obj[val] ? obj[val]++ : obj[val] = 1
});

注意: 
split()方法用于把一个字符串分割成字符串数组。

语法
stringobject.split(separator , howmany)

参数

separator必需。字符串或正则表达式,从该参数指定的地方分割stringObject.

howmany可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

返回值
一个字符串数组。该数组是通过在separator指定的边界处将字符串stringObject分割成子串创建的。返回的数组中的字串不包括separator自身。
但是,如果separator是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。

提示和注释
注释:如果把空字符串("")用作separator,那么、stringObject 中的每个字符之间都会被分割。注释: String.split()执行的操作与Array.join 执行的操作是相反的。

 

3、反转字符串

我揍你,莫去想,

 

解: 
let str = "我揍你,莫去想"
let str2 = str.split("").reverse().join("")
str2 就是反转后的字符串

解: (类似这样也可)
let str = "我揍你,莫去想"
let str1 = ''
for (let i = str.length - 1; i >= 0; i--) {
    str1 += str[i]
}

4、注释函数代码用意

 let vs = "You can be a real big baby"
 function firstLetterToUpperCase(value) {
     if(!value)return; //如果value为传参 则返回 啥也不做
     let arr = value.split(" "); // 传入的字符串 按空格 切成数组 数组内数组项则是 单词 ["You","can","be","a","real","big","baby"]
     arr.forEach(function(item,index){//遍历数组项 
         let val = item[0].toUpperCase(); //获得数组项首字母 大写
         let rep = item.replace(item[0],val); // 获得首字母大写的字符串单词
         arr[index] = rep  //讲首字母大写的字符串单词 放到数组项中
     })
     return arr.join(" ") //按空格拼接成字符串
 }
firstLetterToUpperCase(vs)  //当前返回字符串 为各个单词首字母大写的内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值