题目:比较传入函数的参数,将参数组成数组,从小到大排序,返回新的数组。

如:

insert();console.log(arr); //[]

insert(-1,-2); console.log(arr);//[-2,-1]

insert(3);console.log(arr);//[-2,-1,3]

insert(6,4,5);console.log(arr); //[-2,-1,3,4,5,6]

代码实现:

var arr = [];
var index = 0;
function insert() {
for(let k = 0; k < arguments.length; k ++) {
console.log(arguments.length);
let num = arguments[k];
//数组本来是有序的,如果i项的值大于传入的参数,在i项的位置插入,
for (var i = 0; i < arr.length; i++) {
if (arr[i] >= num) {
index = i;
break;
}
}
//如果插入的位置是数组的最后
if (i >= arr.length) {
arr.push(num);
} else {
//如果是数组的中间或者第一个位置,则依次将index 开始到数组的最后一个元素向后移动一位,把index的位置空出来,插入新的元素
for (let j = arr.length; j > i; j--) {
arr[j] = arr[j - 1];
}
arr[index] = num;
} }
return arr;
}
insert();
console.log(arr);
insert(-1,-2);
console.log(arr);
insert(3);
console.log(arr);
insert(6,4,5);
console.log(arr);

题目:比较传入函数的参数,每次只能传入一个参数,将参数组成数组,从小到大排序,返回新的数组。

var arr = [];
var index = 0;
function insert(num) {
//数组本来是有序的,如果i项的值大于传入的参数,在i项的位置插入,
for (var i = 0; i < arr.length; i++) {
if (arr[i] >= num) {
index = i;
break;
}
}
//如果插入的位置是数组的最后
if (i >= arr.length) {
arr.push(num);
} else {
//如果是数组的中间或者第一个位置,则依次将index 开始到数组的最后一个元素向后移动一位,把index的位置空出来,插入新的元素
for (let j = arr.length; j > i; j--) {
arr[j] = arr[j - 1];
}
arr[index] = num;
}
return arr;
}
insert(-1);
insert(9);

题目:将数组中的元素从小到大排序

var arr = [2,6,1,4,7];
for(i=0;i<arr.length;i++){
for(j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
let temp = arr[i];
arr[i] =arr[j];
arr[j] = temp;
}
}
}
console.log(arr)

js有序数组中插入一个元素,并有序的输出的更多相关文章

  1. [jstips]向数组中插入一个元素

    向现有数组中插入一个元素是经常会见到的一个需求.你可以: 使用push将元素插入到数组的尾部: 使用unshift将元素插入到数组的头部: 使用splice将元素插入到数组的中间: 上面那些方法都是常 ...

  2. Leetcode 540.有序数组中的单一元素

    有序数组中的单一元素 给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数. 示例 1: 输入: [1,1,2,3,3,4,4,8,8] 输出: 2 示例 2: 输入 ...

  3. Java实现 LeetCode 540 有序数组中的单一元素(位运算入门)

    540. 有序数组中的单一元素 给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数. 示例 1: 输入: [1,1,2,3,3,4,4,8,8] 输出: 2 示例 ...

  4. C#如何删除数组中的一个元素

    C#如何删除数组中的一个元素,剩余的元素组成新数组,数组名不变double[] arr = new double[n];需要删除的是第m+1个数据arr[m]求新数组arr.(新数组arr包含n-1个 ...

  5. LeetCode 540. 有序数组中的单一元素(Single Element in a Sorted Array) 42

    540. 有序数组中的单一元素 540. Single Element in a Sorted Array 题目描述 每日一算法2019/6/14Day 42LeetCode540. Single E ...

  6. 去掉有序数组中的重复元素 c/c++

    去掉有序数组中的重复元素: int RemoveDuplates(int A[], int nCnt) { ; ; , j = ; i < nCnt && j < nCnt ...

  7. LeetCode#26 | Remove Duplicates from Sorted Array 删除有序数组中的重复元素

    一.题目 Description Given a sorted array, remove the duplicates in-place such that each element appear ...

  8. C语言:返回两个数组中第一个元素的指针,并输出这个值

    // //  main.c //  Pointer_search // //  Created by ma c on 15/8/2. //  Copyright (c) 2015年. All righ ...

  9. 为什么改了JS数组中的一个元素的值,其他数组元素值都跟着变了

    原因: 数组是引用类型,数组变量存储在栈,元素数据存储在堆中,将数组赋值不同的对象,所以的赋值对象都指向堆同一个数据,所以改变其中一个数组中的元素,别的数组元素也会改变. 解决方案: 原理就是先把数组 ...

随机推荐

  1. 在Myeclipse中没有部署jeesite项目,但是每次运行其他项目时,还是会加载jeesite项目

    解决办法: 一.在以下路径中找到jeesite文件,并删除 1.Tomcat 7.0\conf\Catalina\localhost 2.Tomcat 7.0\webapps 3.Tomcat 7.0 ...

  2. Vue项目中的文件导出

    项目中涉及到文件导出,分xml和excel导出.不同的文件导出格式不同,需要根据文件类型判断导出格式. exportAllData(val){ //全部导出 if(!val){ this.export ...

  3. CF827D Best Edge Weight[最小生成树+树剖/LCT/(可并堆/set启发式合并+倍增)]

    题意:一张图求每条边边权最多改成多少可以让所有MST都包含这条边. 这题还是要考察Kruskal的贪心过程. 先跑一棵MST出来.然后考虑每条边. 如果他是非树边,要让他Kruskal的时候被选入,必 ...

  4. move post process stack from package to asset

    这东西折腾了我好久 原来一直都是打开的方式不对 package 文件夹里面的manifest文件 改相应的package为文件路径引用     "com.unity.render-pipel ...

  5. html5shiv主要解决IE6-8 无法识别HTML5的新标签,父节点不能包裹子元素,以及应用CSS样式

    html5shivehtml5shiv主要IE6-8解决:1,HTML5提出的新的元素不被IE6-8识别.2,这些新元素不能作为父节点包裹子元素,3,并且不能应用CSS样式.让CSS 样式应用在未知元 ...

  6. docker国内镜像地址

    https://registry.docker-cn.com http://hub-mirror.c.163.com https://docker.mirrors.ustc.edu.cn

  7. python中重要的概念:类(class)

    1.名词解释 类:类代表了具有相同特征的一类事物(人) 对象.实例:具体的某一个事物或者是人 实例化:将类变成对象的这么一个过程,即新建一个对象的过程,就是对类的一个实例化过程. 2.格式 函数定义: ...

  8. 基于ElementUI封装可复用的表格组件

    <template> <section class="ces-table-page"> <!-- 表格操作按钮 --> <section ...

  9. PHP mysqli_get_connection_stats() 函数

    定义和用法 mysqli_get_connection_stats() 函数返回有关客户端连接的统计. 语法 mysqli_get_connection_stats(connection); 返回有关 ...

  10. Hdu 4333 Revolving Digits(Exkmp)

    Revolving Digits Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...