reduce实现计算数组中每个元素出现的次数 数组去重 将多维数组转化为一维

      // js计算数组中每个元素出现的次数
    //    var names = [‘Alice‘, ‘Bob‘, ‘Tiff‘, ‘Bruce‘, ‘Alice‘];

    //    var countedNames = names.reduce(function (allNames, name) {
    //    if (name in allNames) {
    //        allNames[name]++;
    //    }
    //    else {
    //    allNames[name] = 1;
    //    }
    //    return allNames;
    //    }, {});
    //    console.log(countedNames) //{Alice: 2, Bob: 1, Tiff: 1, Bruce: 1}

    // 数组去重
    // let arr = [1,2,3,4,4,1]
    // let newArr = arr.reduce((pre,cur)=>{
    // if(!pre.includes(cur)){
    // return pre.concat(cur)
    // }else{
    // return pre
    // }
    // },[])
    // console.log(newArr);// [1, 2, 3, 4]

    //将多维数组转化为一维
    let arr = [[0, 1], [2, 3], [4,[5,6,7]]]
    const newArr = function(arr){
    return arr.reduce((pre,cur)=>pre.concat(Array.isArray(cur)?newArr(cur):cur),[])
    }
    console.log(newArr(arr)); //[0, 1, 2, 3, 4, 5, 6, 7]

原文地址:https://www.cnblogs.com/IwishIcould/p/11632052.html

时间: 2024-10-16 22:06:04

reduce实现计算数组中每个元素出现的次数 数组去重 将多维数组转化为一维的相关文章

统计数组中每个元素出现的次数

Dictionary<string, int> counter = new Dictionary<string, int>(); foreach (string c in 数组) { if (counter.ContainsKey(c)) { counter[c]++; } else { counter.Add(c, 1); } if (counter[max] < counter[c]) max = c; } max为元素 counter[max]出现次数最多的元素出现的次

计算数组中每个元素出现的次数

var names = ['suga', 'bts', 'suga', 'v', 'jimin'];var countedNames = names.reduce(function (allNames, name) { if (name in allNames) { allNames[name]++; } else { allNames[name] = 1; } return allNames; }, {}); console.log(countedNames); 原文地址:https://ww

js 判断数组中指定元素出现的次数

function arrCheck(arr,c){ var newArr = []; var temp = c; for(var i=0;i<arr.length;i++){ var count=0; for(var j=0;j<arr.length;j++){ if(arr[j]==temp){ count++; arr[j]=-1; } } if(temp != -1){ newArr.push(temp+":"+count); return count; } } };

统计数组[1-n]中各个元素出现的次数,时间复杂度O(n),空间复杂度O(1),可改变数组结构

* 统计数组中每个元素出现的次数 * 数组长度为N,每个元素范围为[1,N]. * 统计各个元素出现的次数,要求时间复杂度为O(N),空间复杂度为O(1).可以修改数组中元素的值. * * 思路:遍历到每一个元素,将该(元素值 - 1)作为下标值,将该下标的元素赋值(若为正,赋值-1:若为负值,-1) * 最后,每个下标中存储的元素即为统计次数,而下标+1即为元素值. 代码: public static void main(String[] args) { // TODO Auto-genera

Java比较两个数组中的元素是否相同的最简单方法

呵呵呵,实现Java比较两个数组中的元素是否相同的功能你是怎么做的?看下面最简单方法: import java.util.Arrays; public class Test { /** * Java比较两个数组中的元素是否相同 */ public static void main(String[] args) { String [] array1 = {"1","2","3"}; String [] array2 = {"3"

Java对数组的操作(三)—比較两个数组中的元素是否同样的最简单方法

呵呵呵,实现Java比較两个数组中的元素是否同样的功能你是怎么做的?看以下最简单方法: import java.util.Arrays; public class Test { /**                 * Java比較两个数组中的元素是否同样                 */                public static void main(String[] args) {                        String [] array1 = {"1

js删除数组中的元素

js删除数组中的元素delete和splice的区别 例如有一个数组是 :var textArr = ['a','b','c','d']; 这时我想删除这个数组中的b元素: 方法一:delete 删除数组 delete textArr[1] 结果为: ["a",undefined,"c","d"] 只是被删除的元素变成了 undefined 其他的元素的键值还是不变. 方法二:aplice 删除数组 splice(index,len,[item]

六道题 : 1.设计一个函数,用来计算b的n次方 2.(n! = 1*2*3*4*...n) 3.(1! + 2! + 3! + 4! + ... + n!) 4.成绩 5. 数组中的元素逆序存放 6.九九乘法口诀

/* 设计一个函数,用来计算b的n次方 递归的2个条件: 1.函数自己调用自己 2.必须有个明确的返回值 */ #include <stdio.h> int pow2(int b, int n); int main() { int c = pow2(3, 2); printf("%d\n", c); return 0; } /* pow2(b, 0) == 1 pow2(b, 1) == b == pow2(b, 0) * b pow2(b, 2) == b*b == po

数组与指针(数组中所有元素的和)

//1.下面这个例子是计算数组中所有元素的和 //数组与指针的关系,整型是4个字节,a[] == *a, a[i] = *(a+i) #include <stdio.h> #define SIZE 10 int sum (int a[],int n); int main(){ int ar [SIZE] = {10,20,30,40,50,60,70,80,90}; long answer; answer = sum(ar, SIZE); //重点是这一句,ar为int [10]类型 prin