Js常见简单编程题

利用js获取url中的参数和对应值.


  • 方法一:
//  定义foo函数,参数为url
function foo(url) {
  var result = {}
  //  获取参数部分
  url = url.split('?')
  //  获取每个参数和对应值
  var map = url[1].split('&')
  //  遍历参数列表
  for (let item of map) {
  	//  将参数和值分割
    const value = item.split('=')
    //  value[0]为参数名,value[1]为值.
    result[value[0]] = value[1]
  }
  return result
}
//  调用foo函数、打印
const res = foo('www.baidu.com?id=11&name= bob')
console.log(res);

每隔1s输入数字1,2,3,4…,当数字大于10时,停止输出

//  定义全局变量
var j = 0
//  定义一个定时器,每隔1秒输出
var timer = setInterval(() => {
  console.log(j + 1);
  j += 1
  if (j > 9) {
    clearInterval(timer)
  }
}, 1000);

输出今天的日期

function getDay(){
var day = new Date()
var y = day.getFullYear();
var m = day.getMonth() + 1;
var d = day.getDate()

d = d > 10 ? d : '0' + d
console.log(y + "-" + m + "-" + d);
}

判断是否回文字符串

  • 方法一:
function isPalindrome(param) {
  if (!param) return false
  if (typeof param !== 'string') return false
  let length = param.split('').length
  // console.log(length);
  let mid = Math.floor(length / 2)
  let l = []
  let r = []
  if (length % 2 === 0) {
  //  字符串长度为偶数
    for (let i = 0; i < mid; i++) {
      l.push(param[i])
    }
    for (let j = mid; j < length; j++) {
      r.push(param[j])
    }
    r = r.reverse()
    // console.log(l);
    // console.log(r);
    return l.join('') === r.join('')
  } else {
  	//  字符串长度为奇数
    for (let i = 0; i < mid; i++) {
      l.push(param[i])
    }
    for (let j = mid + 1; j < length; j++) {
      r.push(param[j])
      r = r.reverse()
    }
    // console.log(l);
    // console.log(r);
    return l.join('') === r.join('')
  }
}

//  调用
console.log(isPalindrome('12344321'));
  • 方法二:
function run(input) {
  if (typeof input !== 'string') return false;
  return input.split('').reverse().join('') === input;
}

数组的反转

  • 方法一
var arr = [1, 2, 3, 4, 5]
for (let i = 0; i < arr.length / 2; i++) {
  const temp = arr[i]
  arr[i] = arr[arr.length - 1 - i]
  arr[arr.length - 1 - i] = temp
}
console.log(arr);
  • 方法二;
var arr = [1, 2, 3, 4, 5]
arr.reverse()
console.log(arr);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章