您当前的位置: 首页 >  ar

彭世瑜

暂无认证

  • 3浏览

    0关注

    2791博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

js:array数组相关的操作技巧

彭世瑜 发布时间:2022-05-10 10:12:19 ,浏览量:3

打乱数组顺序

/**
 * 打乱数组顺序
 * @param {Array} array 
 * @returns 
 */
function array_shuffle(array) {
  let array_ = [...array];
  array_.sort(() => {
    return 0.5 - Math.random();
  });
  return array_;
}

let arr = ['a', 'b', 'c', 'd', 'e'];
console.log(array_shuffle(arr));
// [ 'b', 'c', 'd', 'a', 'e' ]

从数组中随机选择一个值

/**
 * 从数组中随机选择一个值
 * @param {Array} array
 * @returns
 */
function array_random(array) {
  return array[Math.floor(Math.random() * array.length)];
}

let arr = ['a', 'b', 'c', 'd', 'e'];
console.log(array_random(arr));
// d

删除数组重复的元素

/**
 * 删除数组重复的元素
 * @param {Array} array
 * @returns
 */
function array_unique(array) {
  return [...new Set(array)];
}

let arr = ['a', 'b', 'a', 'd', 'd'];
console.log(array_unique(arr));
// [ 'a', 'b', 'd' ]

/**
 * 过滤数组中值为 false 的值
 * @param {Array} array 
 * @returns 
 */
function array_filter_empty(array) {
    return array.filter(Boolean)
}

let arr = [0, 1 , null, undefined];

console.log(array_filter_empty(arr));
// [ 1 ]

清空数组

// 方式一:
let arr = [1, 2, 3];

arr.length = 0;

console.log(arr);
// []


// 方式二:
let arr = [1, 2, 3];

arr.splice(0, arr.length);

console.log(arr);
// []

反转字符串

/**
 * 反转字符串
 * @param {String} str 
 * @returns 
 */
function reverse_string(str) {
    return str.split("").reverse().join("");
}

let str = 'hello wordl';
console.log(reverse_string(str));
// ldrow olleh

参考 强推:20个值得收藏的ES6小技巧

关注
打赏
1665367115
查看更多评论
立即登录/注册

微信扫码登录

0.3609s