文档章节

Sum All Numbers in a Range

mufengs
 mufengs
发布于 2016/09/28 22:06
字数 504
阅读 7
收藏 0

我们会传递给你一个包含两个数字的数组。返回这两个数字和它们之间所有数字的和。 最小的数字并非总在最前面。

function sumAll(arr) {
  var a=arr.sort();
  var x=Math.max.apply(null,a);
  var y=Math.min.apply(null,a);
 var sum=x+y;
  for(i=y+1;i<x;i++){
    arr.push(i);
 
}
   return arr.reduce(function(previousValue, currentValue, index, array){
  return previousValue + currentValue;
});
}
sumAll([1, 4]);

用到的知识:

arr.reduce(callback,[initialValue])

  • 概述
  • reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始合并,最终为一个值。
  • 语法
  • arr.reduce(callback,[initialValue])
  • 参数
  • callback
  • 执行数组中每个值的函数,包含四个参数
  • previousValue
  • 上一次调用回调返回的值,或者是提供的初始值(initialValue)
  • currentValue
  • 数组中当前被处理的元素
  • index
  • 当前元素在数组中的索引
  • array
  • 调用 reduce 的数组
  • initialValue
  • 作为第一次调用 callback 的第一个参数。
  • 描述
  • reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce 的数组。
  • 回调函数第一次执行时,previousValue 和 currentValue 的取值有两种情况,如果 initialValue 在调用 reduce 时被提供,那么第一个 previousValue 等于 initialValue ,并且currentValue 等于数组中的第一个值;如果initialValue 未被提供,那么previousValue 等于数组中的第一个值,currentValue等于数组中的第二个值。
  • 如果数组为空并且没有提供initialValue, 会抛出TypeError 。如果数组仅有一个元素(无论位置如何)并且没有提供initialValue, 或者有提供initialValue但是数组为空,那么此唯一值将被返回并且callback不会被执行。
  • 例如执行下面的代码

[0,1,2,3,4].reduce(function(previousValue, currentValue, index, array){ return previousValue + currentValue; });

取最大值:
Math.max(null,arr)
ES6之后有一个新的方法:Math.max(...arr)

© 著作权归作者所有

mufengs
粉丝 0
博文 37
码字总数 7056
作品 0
南京
程序员
私信 提问
找到数组中左右两边的和相等的pivot的下标 Find Pivot Index

问题: Given an array of integers , write a method that returns the "pivot" index of this array. We define the pivot index as the index where the sum of the numbers to the left ......

叶枫啦啦
2018/01/17
31
0
poj 3468 (区间修改 区间查询)

A Simple Problem with Integers Description You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. One type of operation is to add some given numbe......

12-num
2018/12/27
0
0
[LeetCode] Design Excel Sum Formula 设计Excel表格求和公式

Your task is to design the basic function of Excel and implement the function of sum formula. Specifically, you need to implement the following functions: Excel(int H, char W): ......

机器的心脏
2017/11/07
0
0
poj 3468 A Simple Problem with Integers

A Simple Problem with Integers 1 2 3 4 5 6 7 8 9 10Q 4 4Q 1 10Q 2 4C 3 6 3Q 2 4 Sample Output 455915 Hint [Submit] [Go Back] [Status] [Discuss] 我的解答 /*======================......

locusxt
2013/12/08
93
0
Python编程入门到实践 - 笔记( 4 章)

昨天下午又看了一遍第4章,今天早上自己来个总结吧。 复习内容如下: 通过 for 循环遍历表中内容以及在循环中打印和循环外打印 rang() 创建列表和设置步长 数字列表的简单统计 1)mix 最小 ...

mlwzby
2018/07/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
今天
4
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
今天
6
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
今天
4
0
Python机器学习之数据探索可视化库yellowbrick

背景介绍 从学sklearn时,除了算法的坎要过,还得学习matplotlib可视化,对我的实践应用而言,可视化更重要一些,然而matplotlib的易用性和美观性确实不敢恭维。陆续使用过plotly、seaborn,...

yeayee
今天
8
0
重读《学习JavaScript数据结构与算法-第三版》- 第5章 队列

定场诗 马瘦毛长蹄子肥,儿子偷爹不算贼,瞎大爷娶个瞎大奶奶,老两口过了多半辈,谁也没看见谁! 前言 本章为重读《学习JavaScript数据结构与算法-第三版》的系列文章,主要讲述队列数据结...

胡哥有话说
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部