JavaScript 实用代码

JavaScript 实用代码

  • 删除所有短横线,并将短横线后的每一个单词的首字母变为大写 camelize("background-color") == 'backgroundColor';

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function camelize(str) {
    return str
    .split('-') // splits 'my-long-word' into array ['my', 'long', 'word']
    .map(
    // capitalizes first letters of all array items except the first one
    // converts ['my', 'long', 'word'] into ['my', 'Long', 'Word']
    (word, index) => index == 0 ? word : word[0].toUpperCase() + word.slice(1)
    )
    .join(''); // joins ['my', 'Long', 'Word'] into 'myLongWord'
    }
    //缩减版:
    function x(str){
    return str.split('-').map((word,index)=>index==0?word:word[0].toUpperCase()+word.slice(1)).join("")
    }
  • 写一个函数 filterRange(arr, a, b),该函数获取一个数组 arr,在其中查找数值大于或等于 a,且小于或等于 b 的元素,并将结果以数组的形式返回一个新数组。

    1
    2
    3
    4
    function filterRange(arr, a, b) {
    // 在表达式周围添加了括号,以提高可读性
    return arr.filter(item => (a <= item && item <= b));
    }
  • 获取一个数组 arr,并删除其中介于 a 和 b 区间以外的所有值。检查:a ≤ arr[i] ≤ b。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function filterRangeInPlace(arr, a, b) {

    for (let i = 0; i < arr.length; i++) {
    let val = arr[i];

    // 如果超出范围,则删除
    if (val < a || val > b) {
    arr.splice(i, 1);
    i--;
    }
    }

    }
  • /