每日一练||第二周汇总

题目来源

牛客网-前端技能挑战

获取字符串的长度

题目描述

如果第二个参数 bUnicode255For1 === true,则所有字符长度为 1
否则如果字符 Unicode 编码 > 255 则长度为 2

输入

'hello world, 牛客', false

输出

17

参考代码

function strLength(s, bUnicode255For1) {
  let len =0
  if(bUnicode255For1 === true) {
    return s.length
  } else {
    for (let i=0; i < s.length; i++) {
      if(s.charCodeAt(i)>255) {
        len += 2
      } else {
        len += 1
      }
    }
    return len
  }
}

颜色字符串转换

题目描述

将 rgb 颜色字符串转换为十六进制的形式,如 rgb(255, 255, 255) 转为 #ffffff

  1. rgb 中每个 , 后面的空格数量不固定
  2. 十六进制表达式使用六位小写字母
  3. 如果输入不符合 rgb 格式,返回原始输入

输入

'rgb(255, 255, 255)'

输出

#ffffff

参考代码

function rgb2hex(sRGB) {
  let reg = /rgb|\(|\)|\s/g
  let colorArr = sRGB.replace(reg,'').split(',')
  let isColor = colorArr.every(item => (item <= 255 && /\d/.test(item)))
  if(isColor) {
    let result = '#'
    colorArr.forEach(element => {
      hex = parseInt(element)<16?'0'+parseInt(element).toString(16):parseInt(element).toString(16)
      //console.log(parseInt(element).toString(16))
      result += hex
    });
    return result
  } else {
    return sRGB
  }
}

将字符串转换为驼峰格式

题目描述

css 中经常有类似 background-image 这种通过 - 连接的字符,通过 javascript 设置样式的时候需要将这种样式转换成 backgroundImage 驼峰格式,请完成此转换功能

  1. 以 - 为分隔符,将第二个起的非空单词首字母转为大写
  2. -webkit-border-image 转换后的结果为 webkitBorderImage

输入

'font-size'

输出

fontSize

参考代码

function cssStyle2DomStyle(sName) {
  if(sName[0]=='-'){
    sName.replace('-','')
  }
  let reg =/-./g
  return sName.replace(reg,function (a,b){
    return a[1].toUpperCase()
  })
}
function cssStyle2DomStyle(sName) {
    var arr = sName.split(''); 
    //判断第一个是不是 '-',是的话就删除
    if(arr.indexOf('-') == 0)
        arr.splice(0,1);
   //处理剩余的'-'
    for(var i=0; i<arr.length; i++){
        if(arr[i] == '-'){
            arr.splice(i,1);
            arr[i] = arr[i].toUpperCase();
        }
    }
    return arr.join('');
}

字符串统计

题目描述

统计字符串中每个字符的出现频率,返回一个 Object,key 为统计字符,value 为出现频率

  1. 不限制 key 的顺序
  2. 输入的字符串参数不会为空
  3. 忽略空白字符

输入

'hello world'

输出

{h: 1, e: 1, l: 3, o: 2, w: 1, r: 1, d: 1}

参考代码

function count(str) {
  let map = new Map()
  let res = new Object()
  str = str.replace(/\s/,'')
  for(let i = 0; i < str.length; i++) {
    if(map.has(str[i])) {
      map.set(str[i],map.get(str[i])+1)
    } else {
      map.set(str[i],1)
    }
  }
  map.forEach((value,key) => {
    res[key] = value
  })
  return res
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 Python 的 pandas 库来读取和处理 Excel 文件。假设你的 Excel 文件中每个 sheet 存储了一天的记录,那么你可以按照以下步骤来汇总一周的记录数: 1. 导入 pandas 库: ```python import pandas as pd ``` 2. 定义一个列表,用于存储每个 sheet 的文件名: ```python sheet_names = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] ``` 3. 使用 pandas 的 read_excel() 函数读取每个 sheet: ```python dfs = [] for name in sheet_names: df = pd.read_excel('data.xlsx', sheet_name=name) dfs.append(df) ``` 这将返回一个包含每个 sheet 的 DataFrame 对象的列表。 4. 合并每个 DataFrame 对象: ```python combined_df = pd.concat(dfs) ``` 这将返回一个包含所有记录的 DataFrame 对象。 5. 使用 pandas 的 groupby() 函数按照日期列进行分组,并计算每个组的记录数: ```python grouped = combined_df.groupby('date').size() ``` 这将返回一个包含每个日期及其对应记录数的 Series 对象。 6. 如果需要,你可以将结果保存为 Excel 文件: ```python grouped.to_excel('summary.xlsx', sheet_name='Summary') ``` 这将保存一个名为 summary.xlsx 的 Excel 文件,其中包含名为 Summary 的 sheet,该 sheet 包含按照日期分组后的记录数。 注意:上述代码中的 'data.xlsx' 应替换为你的 Excel 文件名,'date' 应替换为日期列的名称。同时,你需要根据实际情况进行其他参数的调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值