javascript-数组和对象.方法

转化方法--对象或数组都是具有【toLocaleString()】、【toString()】、【valueOf()】方法

1 var box =[‘Vanquisher‘,25,‘计算机编程‘,new Date];
2
3     //都返回 Vanquisher,25,计算机编程
4     alert(box);                                //隐式调用了toString()
5     alert(box.toString());                    //和valueOf()返回一致
6     alert(box.toLocaleString());            //不会被自动调用[本地格式区域字符串]

http://www.w3school.com.cn/jsref/jsref_obj_array.asp

--> join()

1 var box =[‘Vanquisher‘,25,‘计算机编程‘];
2 alert(box.join(‘|‘));                    //Vanquisher|25|计算机编程
3 alert(typeof box.join(‘|‘));            //String
4 alert(typeof box);                        //object
5
6 //★★★★这里涉及到一个很重要基础
7 //box.join(‘|‘) 是返回的新的字符串 并没有改变 原数组的类型
8 //当然 toString 的执行就是 新建返回字符串 (隐式转换也是如次)

栈方法

--> push() 添加,pop()删除,栈是一种数据结构(后进先出),也就是说最新添加的元素最早被移除,而栈中元素的插入(或叫推入)和移除(或叫弹出),只发生在一个位置---栈的顶部

1 //push()方法可以接收任意数量的参数,吧他们逐个添加到数组的末尾,并返回修改后的数组长度
2
3     var box =[‘Vanquisher‘,25,‘计算机编程‘];
4     //box.push(‘江苏‘);
5     alert(box.push(‘江苏‘,‘南京‘))                //push给数组末尾添加N个元素,并返回最新的长度
6     alert(box);
7
8     alert(box.pop());                            //pop()会删除最后一个元素,并返回出删除的那个元素
9     alert(box)

队列方法

栈方法是后进先出,而队列方法就是先进后出。列队在数组的末端添加元素,从数组的前端移除元素,通过push()在末尾添加,shift()从数组前端移除一个元素

1 var box =[‘Vanquisher‘,25,‘计算机编程‘];
2     //box.push(‘江苏‘);
3     alert(box.push(‘江苏‘,‘南京‘))
4     alert(box);
5
6     alert(box.shift());                            //shift()会删除数组开头的一个元素,并返回出删除的那个元素
7     alert(box)

unshift()是在数组前端添加一个元素 与 shift()方法相反

1 var box =[‘Vanquisher‘,25,‘计算机编程‘];
2
3     alert(box.unshift(‘江苏‘));                            //unshift()数组开头添加一个元素,并返回出那个元素
4     alert(box)

注 IE浏览器 对unshift()方法总是返回undefined而不是数组的新长度

时间: 2024-10-27 04:58:14

javascript-数组和对象.方法的相关文章

javascript 数组以及对象的深拷贝(复制数组或复制对象)的方法

javascript 数组以及对象的深拷贝(复制数组或复制对象)的方法 前言 在js中,数组和对象的复制假设使用=号来进行复制.那仅仅是浅拷贝. 例如以下图演示: 如上.arr的改动,会影响arr2的值,这显然在绝大多数情况下,并非我们所须要的结果. 因此,数组以及对象的深拷贝就是javascript的一个基本功了. 数组的深拷贝 条条大道通罗马,实现数组的深拷贝.是有好几种方法的.举比例如以下: for 循环实现数组的深拷贝 for循环是很好用的.假设不知道高级方法.通过for循环可以完毕我们

js 判断数组包含某值的方法 和 javascript数组扩展indexOf()方法

var  questionId = []; var anSwerIdValue = []; ////javascript数组扩展indexOf()方法 Array.prototype.indexOf = function (e) { for (var i = 0, j; j = this[i]; i++) { if (j.indexOf(e) != -1) { return i; } } return -1; } if (anSwerIdValue.length < 14) { alert(&quo

javascript数组强大splice方法

Javascript中总有一些所谓的细节知识会让你目瞪口呆. 前段时间,项目组新增一个需要,要求系统中所有显示时间的地方支持日期格式可定制 什么事日期格式可定制呢,在平常呢,我们看到的时间格式一般是"yyyy-MM-dd"形式的,现在要支持如下六种: yyyy-MM-dd  hh:mm:ss MM-dd-yyyy hh:mm:ss dd-MM-yyyy hh:mm:ss yyyy/MM/dd hh:mm:ss MM/dd/yyyy hh:mm:ss dd/MM/yyyy hh:mm:s

JavaScript——数组的indexOf()方法在IE8中的兼容性问题

昨天在工作中遇到一个问题:数组的indexOf()方法在IE8中无效. 如以下代码在IE8中报错“对象不支持“indexOf”属性或方法”: var arr = [1,2,3]; var index = arr.indexOf(3); 解决方法1:在调用的indexOf方法前加上toString()将数组转换为字符串,再调用indexOf(),但是这时又发现3的index并不是我们预期的2,而是4,因为转换为字符串之后是"1,2,3",在查index的时候把逗号也算进去的了,显然这也不

Javascript数组Array的方法总结!

1.join() 将数组的元素组成一个字符串,以分隔符连接,如果省略则默认逗号为分隔符,该方法只接收一个参数:分隔符.此方法不会改变原数组. let arr = [1,2,3,4] let arr1 = arr.join(); let arr2 = arr.join('-'); console.log(arr1);//1,2,3,4 console.log(arr2);//1-2-3-4 console.log(arr);//(4) [1, 2, 3, 4] 2.push() 可以添加任意数量的

JavaScript数组常用API方法汇总

1.push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度. const animals = ['pigs', 'goats', 'sheep']; const count = animals.push('cows'); console.log(count); // expected output: 4 console.log(animals); // expected output: Array ["pigs", "goats", "s

javascript 数组的remove方法

javascript原生一直没有提供删除功能,于是自己写了几个remove方法,主要是要注意遍历数组时使用splice方法是会在遍历没完成时就会改变数组对象的length长度,最简单方法是从数组尾部开始遍历,用递减来循环,就像我这里LastRmove的注释部分,这种方法直观又不受长度动态变化 的影响,然后我想是不是也要像undescore一样加上前后顺序和匹配到第一个就返回这种功能,于是就作了些小改动,可以从头部或是尾部匹配第一个移除后就返回,或是遍历整个数组. // 遍历整个数组,移除匹配it

JavaScript数组与对象的关系

JavaScript的数组,相比其他语言,是比较特殊的.数组是Object类型,只不过,有几个比较特殊的地方: 有索引下标 有默认的length属性 是有序的(注意,对象是无序的) 可以使用一些特殊的数组方法,比如,forEach, filter, map等等 1 var a = [1,2]; 2 a['r'] = 6; 3 for(var key in a) 4 { 5 console.log('key:'+key + ';value:' + a[key]); 6 } 7 8 // outpu

vue数组和对象方法

变异方法:会改变原始数组 push() pop() shift() unshift() splice() sort() reverse() 非变异方法:不会改变原始数组,但是会返回一个新数组 fliter() slice() concat() vue不能检测变动的数组 利用索引值直接设置内容时 vm.items[indexOfItem] = newValue: 修改数组的长度时 vm.items.length = newLength: //这种写法并不能实时检测到变化 var vm = new

javascript数组18中方法总结

1.push(a,b,c,d,e) 添加到数组的最后面,可以添加一个或者多个参数,改变原有数组 返回添加后数组个数 2.pop() 删除数组的最后一个,改变原来数组 返回删除的那个数值 3.unshift(a,b,c,d,e) 添加到数组的最前面,可以添加一个或者多个参数,改变原有数组 返回添加后数组个数 4.shift() 删除数组的第一个,改变原有数组 返回删除的那个数值 5.reverse() 将整个数组翻转,改变原有数组 返回翻转后的数组 6.concat() 复制数组,可添加参数,参数