JavaScript数组方法对比(深度学习数组)

JavaScript数组方法对比


众所周知,JavaScript提供了许多对数组进行改变的方法,但是有些会对原数组进行影响,有些不会。下边就列举出来。

一、新增

影响原数组

array.push()  //向数组的末尾添加一个或更多元素,并返回新的长度。

var array =[1,2,3,4,5];
array.push(6); // [1,2,3,4,5,6];

array.unshift() //向数组的开头添加一个或更多元素,并返回新的长度。

var array =[1,2,3,4,5];
array.unshift(6); // [6,1,2,3,4,5];

不影响原来数组

array.concat() //连接两个或更多的数组,并返回结果。

var arr1 = [1,2,3,4];
arr1.concat(a,b); // [1,2,3,4,a,b]

二、移除

影响原数组

arry.pop() //删除并返回数组的最后一个元素

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop();    // Banana,Orange,Apple

arry.shfit() // 删除并返回数组的第一个元素

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift()   // Orange,Apple,Mango

arry.splice() //删除元素,并向数组添加新元素。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,0,"Lemon","Kiwi");   //Banana,Orange,Lemon,Kiwi,Apple,Mango

不影响原数组

array.filter() //创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

var ages = [32, 33, 16, 40];

function checkAdult(age) {
    return age >= 18;
}

function myFunction() {
    document.getElementById("demo").innerHTML = ages.filter(checkAdult);
}

三、替换

影响原数组

arry.splice() //删除元素,并向数组添加新元素。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,0,"Lemon","Kiwi"); //Banana,Orange,Lemon,Kiwi,Apple,Mango

不影响原数组

array.map() //方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

var numbers = [4, 9, 16, 25];

function myFunction() {
    x = document.getElementById("demo")
    x.innerHTML = numbers.map(Math.sqrt);
}
时间: 2024-10-12 16:49:57

JavaScript数组方法对比(深度学习数组)的相关文章

对比深度学习十大框架:TensorFlow 并非最好?

http://www.oschina.net/news/80593/deep-learning-frameworks-a-review-before-finishing-2016 TensorFlow 链接:https://www.tensorflow.org/ 对于那些听说过深度学习但还没有太过专门深入的人来说,TensorFlow 是他们最喜欢的深度学习框架,但在这里我要澄清一些事实. 在 TensorFlow 的官网上,它被定义为「一个用于机器智能的开源软件库」,但我觉得应该这么定义:Te

数组方法总结 常用数组方法总结 js的数组或对象常用方法总结

js常用数据类型的方法使用归纳 * String---->是一个对象    * 字符串可以看成是字符组成的数组,但是js中没有字符类型 * 字符是一个一个的,在别的语言中字符用一对单引号括起来 * 在js中字符串可以使用单引号也可以使用双引号 * 因为字符串可以看成是数组,所以,可以通过for循环进行遍历 * 字符串特性:不可变性,字符串的值是不能改变 * 字符串的值之所以看起来是改变的,那是因为指向改变了,并不是真的值改变了 * 字符串的常用属性:     * .length------>字

Json、数组方法、随机函数、数组去重

一.Json 1Json(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式. 2.Json语法规则 在 JS 语言中,一切都是对象.因此,任何支持的类型都可以通过 JSON 来表示,例如字符串.数字.对象.数组等.但是对象和数组是比较特殊且常用的两种类型: 对象表示为键值对 数据由逗号分隔 花括号保存对象 方括号保存数组 3.JSON 键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号

数组方法总结---改变原数组和不改变数组

<script>先来看看基础 // 1 数组定义方法 new Array 或 字面量 var arr = new Array() var arr1 = [1, 2, 3, 4, 5, 6] </script> 需要注意的是 new Array()创建的数组只有一位的时候,第一位代表的数组长度,而不是第一位的值,而且不能为小数 接下来是数组方法:可以先分为两类  改变原数组和不改变原数组 改变原数组:push() 用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度 //

js数组方法 - 检测两个数组是否有重复项

项目里面有个需求,是检测两个数组里面是否有相同的重复项,有则返回 true,没有则返回 false,并且不需要获取重复项的数据. 如果是需要获取重复项的数据,那肯定需要遍历循环,但是既然只要简单知道是否重复,就没有必要一个个去遍历,直接用 ES6 的新数据类型 Set 即可,因为他有一个特性是每个元素都不重复,因此经常被用来做数组去重. 通过它的这个特性,自然也可以检测重复,将需要检测的两个数组合并成一个 Set,如果长度小于两个数组的长度之和,那么肯定存在重复项. function isInA

Javascript中数组方法以及数组方法的扩展--基础篇

最近一直在努力的恶补javascript中的各种知识,比如说闭包,作用域,继承,构造函数,变量,内置对象等概念.同时,也在学习着ES6的新知识.最近想给大家分享的就是数组实例方法的练习以及如何去扩展一个数组方法. 以下的分享会分为如下内容 1.数组实例方法的练习 1.1:reduce() 1.2:map() 1.3:sort() 1.4:slice() 1.5:push() 1.6:实例方法习题 2.数组方法的扩展 1.数组实例方法的练习 首先,我们应该知道数组实例方法有哪些. console.

[Effective JavaScript 笔记]第5章:数组和字典--个人总结

前言 这节里其实一直都在讨论对象这个在js中的万能的数据结构.对象可以表式为多种的形式,表示为字典和数组之间的区别.更多的我觉得这章讨论多的是一些对应实现功能的相关操作,有可能出现的bug以及如何避免来修复这些bug.比如下面会说到的for...in枚举属性的操作,可能因为对原型的一些操作,最终造成数据对象的操作的破坏.对于属性顺序有要求的如何处理,对类数组如何处理等.下面再一起一条一条回顾一下,这章里的主要内容.我觉得没必要讲的会一语带过,相比前面的几章,个人觉得这章的内容重点很少,注意几点就

深度学习及机器学习框架对比摘要

对比深度学习十大框架:TensorFlow 并非最好? TensorFlow与主流深度学习框架对比 五大主流深度学习框架对比:MXNET是最好选择 主流开源深度学习框架对比分析 主流深度学习框架对比 深度学习框架的评估与比较 几种机器学习框架的对比和选择 机器学习框架比较 DL4J与Torch.Theano.TensorFlow.Caffe.Paddle.MxNet.Keras 和 CNTK的比较 主流深度学习框架对比:看你最适合哪一款? 从PyTorch到Mxnet ,对比7大Python深度

基于深度学习的目标检测研究进展

前言 开始本文内容之前,我们先来看一下上边左侧的这张图,从图中你看到了什么物体?他们在什么位置?这还不简单,图中有一个猫和一个人,具体的位置就是上图右侧图像两个边框(bounding-box)所在的位置.其实刚刚的这个过程就是目标检测,目标检测就是"给定一张图像或者视频帧,找出其中所有目标的位置,并给出每个目标的具体类别". 目标检测对于人来说是再简单不过的任务,但是对于计算机来说,它看到的是一些值为0~255的数组,因而很难直接得到图像中有人或者猫这种高层语义概念,也不清楚目标出现在