js数组添加元素

js数组操作《转》

我与影子孤独终老i 提交于 2019-12-22 05:23:35
用js有很久了,但都没有深究过js的数组形式。偶尔用用也就是简单的string.split(char)。这段时间做的一个项目,用到数组的地方很多,自以为js高手的自己居然无从下手,一下狠心,我学!呵呵。学了之后才知道,js数组的功能强大很,大家慢慢看吧 1、数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值 要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。 2、数组的元素的访问 var testGetArrValue=arrayObj[1]; //获取数组的元素值 arrayObj[1]= "这是新值"; //给数组元素赋予新的值 3、数组元素的添加 arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度 arrayObj.unshift([item1

JS 数据结构-数组 声明数组 常用数组方法

£可爱£侵袭症+ 提交于 2019-12-05 15:46:29
数组   一个标识符,存储多个不同数据类型的数据。 声明数组   格式1:     字面量方式 (推荐)     关键词  标识符 = [数据];   例    let    i   = [1,"A",undefined];      中括号中的每个数据之间的分隔符是逗号,每个数据称为元素;   每个元素都会有自己在数组中唯一的索引(下标),可以通过数组的索引进行元素获取。 注:数组索引的起始值为0;   i[1] 即得到数组中的第2个元素 "A"。   获取一个不存在的下标会得到undefined不会报错。   格式2:     构造函数方式     关键词  标识符 = new Array();   例    let    i    = new Array();   Array()小括号里面可以定数组的长度,但是没意义,因为JS数组是不定长的,可以随意添加;   也可以直接写入数据Array(1,"A",undefined),但是...反正推荐字面量方式。      字面量与构造函数方式的区别     字面量比构造函数的解析速度更快(效率高)。     原因:       字面量属于JSON格式,可以直接被JS引擎进行解析。       构造函数则需要先调用构造函数,再进行JS引擎解析。 数组的解构  ES6   把引用数据类型转换成基本数据类型;   ES6 允许按照一定模式

JS几种数组遍历方式总结

耗尽温柔 提交于 2019-12-05 14:13:22
JS数组遍历的几种方式 JS数组遍历,基本就是for,forin,foreach,forof,map等等一些方法,以下介绍几种本文分析用到的数组遍历方式以及进行性能分析对比 第一种:普通for循环 代码如下: for(j = 0; j < arr.length; j++) { } 简要说明: 最简单的一种,也是使用频率最高的一种,虽然性能不弱,但仍有优化空间 第二种:优化版for循环 代码如下: for(j = 0,len=arr.length; j < len; j++) { } 简要说明: 使用临时变量,将长度缓存起来,避免重复获取数组长度,当数组较大时优化效果才会比较明显。 这种方法基本上是所有循环遍历方法中性能最高的一种 第三种:弱化版for循环 代码如下: arr.forEach(function(e){ }); 第五种:foreach变种 代码如下: Array.prototype.forEach.call(arr,function(el){ }); 简要说明: 由于foreach是Array型自带的,对于一些非这种类型的,无法直接使用(如NodeList),所以才有了这个变种,使用这个变种可以让类似的数组拥有foreach功能。 实际性能要比普通foreach弱 第六种:forin循环 代码如下: for(j in arr) { } 简要说明: 这个循环很多人爱用

JS、JQ相关小技巧积攒

我的梦境 提交于 2019-12-04 21:55:27
JS 、 JQ 相关小技巧积攒,以备不时之需。 1.js 获取时间差:时间戳相减。new Date().getTime() 获得毫秒数,除以(1000*60*60*24) 获得天数。 2.重定向操作:页面重定向:window.location.href="http://..."即可(本页页面跳转)。 3.js立即执行函数,window.onload = function, $(document).ready({})区别 以及 执行时机 以及 先后顺序。 4.前台form表单的提交方式有很多种,例如: 1. form表单submit直接提交的方法 2. Ajax提交的方法 $("form").serialize() 不能提交file文件,如果要表单元素的值包含到序列字符串中,元素必须使用 name 属性 3. jquery提交的方法 4. 原生js提交的方法 document.forms["importFileForm"].submit(); 5. 提交附件 前端用 FormData var formdata = new FormData(); formdata.append("key","value"); 如果提交form则 var formdata = new FormData($("#form1")[0]); // 注意构造器参数是Dom对象不是jq对象 后端用

js数组的方法

ぃ、小莉子 提交于 2019-12-03 05:21:29
Javascript原生方法 注意:js数组每一项可以保存任何类型的数据,比如第一个元素是字符串,第二个元素是数字,第三个元素是对象 创建数组 tips: 建议使用数组字面量方式【简单】 var colors = new Array() var colors = new Array('red','blue') var colors = []; var colors = ['red','blue']; 检测数组 对于一个网页或一个全局作用域,可以通过如下方法 if(arr instanceof Array){ //对数组执行某些操作 } 网页中包含多个框架,通过如下ES5方法检测 if(Array.isArray(arr)){ //对数组执行某些操作 } 转换方法 arr.valueOf() var colors = ['red','blue','green'] colors.valueOf() //['red','blue','green'] arr.toString() var colors = ['red','blue','green'] colors.toString() //"red,blue,green" tips: arr.toString() 与 arr.join()输出相同,不过join里可以输入其它链接符 push、pop、unshift、shift arr

js中数组方法大全

匿名 (未验证) 提交于 2019-12-03 00:03:02
js数组方法大全    一: 前言   我们在学到js中数组的时候,我们会接触到js中数组的一些方法,这些方法对我们来说,可以很遍历的达到我们想要的结果,但是因为方法比较多,有些方法也不常用,可能会过一段时间就会忘记,那么在这里我整理了21个数组的方法,供大家查阅。 方法名 对应版本 功能 原数组是否改变 concat() ES5- 合并数组,并返回合并之后的数据 n join() ES5- 使用分隔符,将数组转为字符串并返回 n pop() ES5- 删除最后一位,并返回删除的数据 y shift() ES5- 删除第一位,并返回删除的数据 y unshift() ES5- 在第一位新增一或多个数据,返回长度 y push() ES5- 在最后一位新增一或多个数据,返回长度 y reverse() ES5- 反转数组,返回结果 y slice() ES5- 截取指定位置的数组,并返回 n sort() ES5- 排序(字符规则),返回结果 y splice() ES5- 删除指定位置,并替换,返回删除的数据 y toString() ES5- 直接转为字符串,并返回 n valueOf() ES5- 返回数组对象的原始值 n indexOf() ES5 查询并返回数据的索引 n lastIndexOf() ES5 反向查询并返回数据的索引 n forEach() ES5

JS练习-牛客网-数组练习14题

匿名 (未验证) 提交于 2019-12-02 23:56:01
1.很多人都使用过牛客网这个在线编程网站,下面是自己做的JS数组部分的练习,已通过网站和老师检查无误,分享给大家。 2.先说一下题目的位置:牛客网 https://www.nowcoder.com/activity/oj →在线编程→JS能力测评经典题 3.数组部分共14题,大部分有两种解法,一种用常规循环做,一种用Array对象的方法做。 <!DOCTYPE HTML> <html> <head> <title> index </title> <meta charset = "utf-8" > <meta name = "Author" content = "Helen" > <script> //共14题 //case1:找出元素 item 在给定数组 arr 中的位置,如果数组中存在 item,则返回元素在数组中的位置,否则返回 -1 // 解法一:通过自定义函数来解 function indexOf ( arr , item ) { for ( var i = 0 ; i < arr . length ; i ++){ if ( arr [ i ]=== item ){ return i ; } } //end for return - 1 ; } //解法二:直接通过函数方法来解 function indexOf ( arr , item ) { return arr .

Web | JavaScript学习笔记

匿名 (未验证) 提交于 2019-12-02 21:53:52
JavaScript 是一种通用的网络脚本语言,常用来为网页改进设计、验证表单、添加动态功能等,实现用户交互。 JavaScript 是一门轻量级,解释型,基于原型,面向对象,弱类型的网络脚本语言。 解释型:无需编译,在程序运行中逐行进行解释执行。 弱类型:对使用的数据类型不严格要求。 面向对象:JS 基本对象,DOM 对象,BOM 对象。 跨平台:不依赖于操作系统,仅需要浏览器的支持。 1.行内js: <input type="button" value="js" onclick="javascript:alert(‘hello‘)" /> 2.内部js: <script> js代码 </script> 3.外部js:外部js文件 4.引入外部js文件: <!--引入外部js--> <script type="text/javascript" src="js/index.js"></script> 1.单行注释: // 单行注释 2.多行注释: /* 多行注释 */ alert(); //弹出框输出 console.log(); //在console显示 document.write(); //写入HTML文件中 JS 标识符命名 规则: ①见名知意 ②驼峰命名法:首个单词全小写,之后的单词首字母大写。 ③ abc123_$ ④不能以数字开头 ⑤不能使用关键字 ⑥严格区分大小写

JavaScript面试题(转)

前提是你 提交于 2019-12-02 12:02:06
JS相关问题 数组去重 function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i < array.length; i++){ if(temp.indexOf(array[i]) == -1){ temp.push(array[i]); } } return temp; } var aa = [1,2,2,4,9,6,7,5,2,3,5,6,5]; console.log(aa) console.log(uniq(aa)) 1、谈一谈JavaScript作用域链 当执行一段JavaScript代码(全局代码或函数)时,JavaScript引擎会创建一个作用域又称为执行上下文(Execution Context),在页面加载后会首先创建一个全局的作用域,然后每执行一个函数,会建立一个对应的作用域,从而形成一条作用域链。每个作用域都有一条对应的作用域链,链头是全局作用域,链尾是当前函数作用域。 作用域链的作用是用于解析标识符,当函数被创建时(不是执行),会将this,arguments,命名参数和该函数中所有局部变量添加到该当前作用域中,当JavaScript需要查找变量X的时候(这个过程称为变量解析),它首先会从作用域链中的链尾也就是当前作用域进行查找是否有X属性,如果没有找到就顺着作用域链继续查找,直到查找到链头

js数组常用方法整理

冷暖自知 提交于 2019-12-02 11:02:23
js数组常用方法整理 学疏才浅,若有不对的地方,希望大家可以帮忙指正出来。 1. Array.push(),向数组的末尾添加一个或多个元素,并返回新的数组长度。原数组改变。 2. Array.pop(),删除并返回数组的最后一个元素,若该数组为空,则返回undefined。原数组改变。 3. Array.unshift(),向数组的开头添加一个或多个元素,并返回新的数组长度。原数组改变。 4. Array.shift(),删除数组的第一项,并返回第一个元素的值。若该数组为空,则返回undefined。原数组改变。 5. Array.concat(arr1,arr2...),合并两个或多个数组,生成一个新的数组。原数组不变。 6. Array.join(),将数组的每一项用指定字符连接形成一个字符串。默认连接字符为 “,” 逗号。 7. Array.reverse(),将数组倒序。原数组改变。 8. Array.sort(),对数组元素进行排序。按照字符串UniCode码排序,原数组改变。   ①从小到大      ②从大到小      ③按照数组对象中的某个值进行排序       9.Array.map(function),原数组的每一项执行函数后,返回一个新的数组。原数组不变。(注意该方法和forEach的区别)。 10.Array.slice(start,end)