首页 > 编程语言 >一起学习javascript-进阶版函数(1)

一起学习javascript-进阶版函数(1)

时间:2024-06-09 15:01:11浏览次数:13  
标签:map arr 进阶 sum javascript reduce var 函数

<script>

    // 举个例子

  function sum(x) {

        return x+1;

    }    

    function add(a, b,f) {

        var c=f(a)+f(b)

        console.log("c的值为:"+c);

    }

    //给add函数传参

    add(3,6,sum);

//   这里的f相当于为

//   var f=function sum(x) {

//         return x+1;

//     }

// Map

 function sum(x) {

     return x+2;

 }

 var  arr=[1,2,3,4,5];

 var newArray=arr.map(sum);//这里sum函数在这里当作参数

 console.log(newArray);//[3,4,5,6,7]

//解释由于map()方法定义在JavaScript的Array中,我们调用Array的map()方法,

// 传入我们自己的函数,就得到了一个新的Array作为结果

// 省略的中间过程,可以减少一个遍历过程

// 把arr.map(sum)理解为,将里面的参数当作一种运算规则,将arr数组中的元素加入到这种运算规则中去进行运算

// 例如:

var newArray1=arr.map(String);//将上面的数组中的元素满足String这个规则中,可以全部转换为字符串

console.log(newArray1);//['1', '2', '3', '4', '5']

// reduce的用法

// Array的reduce()把一个函数作用在这个Array的[x1, x2, x3...]上,这个函数必须接收两个参数,reduce()把结果继续和序列的下一个元素做累积计算,相对于对数列求和

// 把前两次相加的和当作参数,再和第三个元素相加,依次类推,直到遍历完所有的元素。

// 写一下这个函数

function f(x,y) {

    return x+y;

}

var arr2=[1,2,3,4,5];

var newArray2=arr2.reduce(f)//这里把f函数当作参数,将arr中的元素放入到f函数中去

// 打印一下

console.log("newArray2="+newArray2);//newArray2=15,满足1+2+3+4+5=15

// 比较一下他们的不同

// arr.map(sum); //map()方法返回的是一个新数组,原数组不变

// arr.reduce(f);//reduce()方法返回的是一个值,原数组不变

</script>

标签:map,arr,进阶,sum,javascript,reduce,var,函数
From: https://blog.csdn.net/m0_74762754/article/details/139562070

相关文章

  • 一起学习javascript-函数(2)
    <script>  //变量作用域与解构赋值  functionf1(y){  varx=1;  x=x+2;  console.log(x+y);  console.log(x);  //因为变量x在函数f1中申明,在这里属于局部变量,所以x只能在f1中访问,f1执行完,x就销毁了}f1(2);//为了更直观一点,调用......
  • Qt 子线程调用connect/QMetaObject::invokeMethod 不调用槽函数问题
    在使用invokeMethod进行跨线程调用的时候,发现invokeMethod在某些情况下不能正常调用.经过查各种资料发现invokeMethod底层的调用逻辑是通过Qt事件循环处理,所以子线程需要显示的调用QEventLoop::exec()或者QCoreApplication::processEvents()执行信号槽处理.首先有一个QDemoObje......
  • python - pandas常用计算函数
    文中所用数据集有需要的可以私聊我获取学习目标 知道排序函数nlargest、nsmallest和sort_values的用法知道Pandas中求和、计数、相关性值、最小、最大、平均数、标准偏差、分位数的函数使用1排序函数导包并加载数据集importpandasaspd​#加载csv数据,返回df......
  • C++入门7 类|构造函数|析构函数
    一,类型设计和实例化对象封装是面向对象程序设计最基本的特性, 把数据 (属性) 和函数 (操作) 合成一个整体,这在计算机世界中是用类与对象实现的。C++中类的设计1 class 类型名称2 {3 public:4 成员列表1;5 protected:6 成员列表2;7 private:8 成员列表3;......
  • 使用微分中值定理分析开区间时导数和函数的有界关系
    Step1:微分中值定理简介微分中值定理(MeanValueTheorem,MVT)表明,如果函数f(x)f(x)f(x)在闭区间[a,b][a,b][a,b]上连续,并且在开区间(a,b)(a,b)(a,b)上可导,那么存在一个点c∈(a,b)c\in(a,b)c∈(a,b)使得:f′(c)=f(b)−f(a)b−af'(c)=\frac{f(b)-f(a)}{b-a}f......
  • (C语言)常见字符函数和字符串函数(详解)
    我们都知道,在C语言里有string.h这个头文件,但是C语言里没有string这个类型。字符串通常放在常量字符串中或者字符数组中,字符串常量适用于那些对她不做修改的字符串函数。string.h这个头文件里声明的函数原型也全是针对char数组的种种操作。直到C++中才出现了string这个类这......
  • 如何通过javascript自动增加markdown h1的文本内容?
    背景希望美化博客园博客,至少不希望文本那么密集地显示,而且想自动在headline插入表情符号,自动进行目录和文本缩进等等。问题如何通过javascript自动增加markdownh1的文本内容?方案在html中增加如下js脚本即可。document.addEventListener("DOMContentLoaded",function(){......
  • 避免内存泄漏:C++ 虚析构函数指南
    C++虚析构函数详解及示例在C++编程中,虚析构函数的使用至关重要,尤其在涉及多态时。以下将解释虚析构函数的作用、在基类中使用虚析构函数的必要性以及纯虚析构函数的定义。1.为什么需要虚析构函数?当基类的析构函数没有被声明为虚函数时,通过基类指针删除派生类对象会导致无......
  • C++ 抽象类与纯虚函数详解:理论与实战
    抽象基类为什么不能创建对象?抽象类是一种特殊的类,它被设计用来作为其他类的基类,不能实例化为对象。以下是关于抽象类和纯虚函数的详细解释:1.抽象类的定义:抽象类:带有纯虚函数的类称为抽象类。抽象类不能实例化对象,只能作为基类被继承。纯虚函数:一种没有实现的虚函数,其定义格......
  • 深入解析C++中自动生成默认构造函数的五种情况
    自动生成默认构造函数的情况以及相关解释在C++中,当一个类没有任何用户定义的构造函数时,编译器会自动为这个类生成一个默认构造函数。以下是具体情况的解释以及示例:1.带有默认构造函数的类成员对象如果一个类没有任何构造函数,但它含有一个成员对象,而该成员对象有默认构造......