输入输出

1,输入

  • 获取输入的参数,可以用readline()函数,多个输入参数可以通过多次readline()函数进行读取,比如输入:

    12
    abc

以上两个参数可以通过以下代码读取:

let param1 = readline() // 读取 12
let param2 = readline() // 读取 abc
  • 当获取多个可变入参数的时候,比如要输入一个输入的时候,一般第一个入参是告诉你要输入数组元素的个数,比如输入:

    3
    aa
    bb
    cc

可以通过以下代码读取:

while(count = readline()) {
    for (var i=0; i<count; i++) {
        // 这样就可以分别读取 aa bb cc,如有需要可以通过这个循环把它们放到数组中
        var word = readline()
    }
}
  • 获取的多行参数,但是并没有说明有多少行,可以判断读取的是否为undefined,如果读取的为undefined,说明已经读取了所有入参

    while (1) {
      var arr = readline()
      if (arr == undefined) break // 通过break跳出循环
    
      var nums = arr.split(' ')
      var sum = 0
      for (var i=1; i<nums.length; i++) {
          sum += parseInt(nums[i])
      }
      console.log(sum)
    }

2,输出

输出有两种方法:print()console.log(),两种均可

3,结束读取入参

结束读取入参只需要使用break跳出循环即可

while (1) {
    var nums = readline()
    if (nums == '0 0') break // 通过break跳出读取参数的循环
    var numarr = nums.split(' ')
    var a = parseInt(numarr[0])
    var b = parseInt(numarr[1])
    console.log(a + b)
}

字符串处理相关

  • 常用的split函数一定要记得,如果分割符为空字符串或被分割的字符串中没有指定的分割符,则返回这个字符串本身,比如:
    'a b'.split('') // 'a b'
    'a b'.split(',') // 'a b'
  • 碰到无视大小写的题目,要会用转大小写的函数toLowerCasetoUpperCase
    'aJs4'.toLowerCase() // 'ajs4'
    'aJs4'.toUpperCase() // 'AJS4'
  • 关于字符串遍历,乖乖用for吧,不要对字符串使用forEach,否则会报错
  • 常用的字符串截取函数要信手拈来,三个:slice(start, end)substring(start, end)substr(start,length),其中slicesubstring效果一样,包含start,但是不包含end,slice还可以用于数组,见如下示例代码:
    [1,2,3,4].slice(1, 3) // [2,3]
    'abcd'.slice(0, 3) // 'abc'
    'abcd'.substring(0, 3) // 'abc'
    'abcdefgh'.substr(2, 3) // 'cde'
  • 字符串中查找某个字符或者字符串,可以用indexOf函数,该函数同样可以作用于数组,如果没有找到,则返回-1
    'abcd'.indexOf('k') // -1
    'abcd'.indexOf('bc') // 1
    [1,2,3,4].indexOf(3) // 2

    算法相关

  • 冒泡排序
    function range(colArr) {
      for (let m=0; m<colArr.length; m++) {
          for (let n=0; n<colArr.length-1-m; n++) {
              if (colArr[n+1] < colArr[n]) {
                  let temp = colArr[n]
                  colArr[n] = colArr[n+1]
                  colArr[n+1] = temp
              }
          }
      }
    }