数组操作

来源:互联网 发布:淘宝丝袜4成是男的买的 编辑:程序博客网 时间:2024/04/30 10:45

1.数组去重

1.1.常规的去重复方法,声明一个新的数组去接收数组中的值,判断在新数组中是否含有该值,如过没有就添加到新数组中

function duplicates(arr) {var length = arr.length, newArr=[], repeatArr=[];    for(var i = 0; i < length; i++){        if (newArr.indexOf(arr[i]) > -1) {            if(repeatArr.indexOf(arr[i]) == -1){            repeatArr.push(arr[i]);            }        } else {            newArr.push(arr[i]);        }    }return repeatArr.sort();}duplicates([1, 2, 4, 4, 3, 3, 1, 5, 3]);

1.2.es6写法,匹配所有的第一次出现不等于最后一次出现的值,然后进行数组去重复并排序

function duplicates(arr) {    let arr1 =  arr.filter((k, v) => {        return arr.indexOf(k) != arr.lastIndexOf(k)    })    return Array.from(new Set(arr1)).sort()}duplicates([1, 2, 4, 4, 3, 3, 1, 5, 3]);

2.数组首字母大写

let name = 'aaa bbb ccc';let uw=name.replace(/\b\w+\b/g, function(word){  return word.substring(0,1).toUpperCase()+word.substring(1);});

3.1~100求和

let arr = Array.from({length: 101}, (v, i) => i);arr.reduce(function (a, b) {return a + b})console.log(arr)


4.输出数组的key和value的值

var a = ['a', 'b', 'c'];var iterator = a.entries();for (let [a, b] of iterator) {  console.log(a, b);}

0 0