barriers / 阅读 / 详情

js中如何把一串数字转换为数组

2023-07-09 07:59:19
共3条回复
瑞瑞爱吃桃

数组与字符串的相互转化

<script type="text/javascript">

var obj="new1abcdefg".replace(/(.)(?=[^$])/g,"$1,").split(","); //字符串转化为数组

var obj2 = "new2abcdefg".split(""); //字符串转化为数组

alert(obj);

alert(obj.length);

alert(obj instanceof Array);

alert(obj.join("")); //数组转化为字符串

</script>

================================================

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 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返

回数组新长度

arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//将一个或多个新元素插入到数组的指定位置,插入位

置的元素自动后移,返回""。

4、数组元素的删除

arrayObj.pop(); //移除最后一个元素并返回该元素值

arrayObj.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移

arrayObj.splice(deletePos,deleteCount); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所

移除的元素

5、数组的截取和合并

arrayObj.slice(start, [end]); //以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制

start 之后的所有元素

arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //将多个数组(也可以是字符串,或者是数组和字符串的混合)连接

为一个数组,返回连接好的新的数组

6、数组的拷贝

arrayObj.slice(0); //返回数组的拷贝数组,注意是一个新的数组,不是指向

arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向

7、数组元素的排序

arrayObj.reverse(); //反转元素(最前的排到最后、最后的排到最前),返回数组地址

arrayObj.sort(); //对数组元素排序,返回数组地址

8、数组元素的字符串化

arrayObj.join(separator); //返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。

toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用

二、数组对象的3个属性

1、length 属性

Length属性表示数组的长度,即其中元素的个数。因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length

-1。和其他大多数语言不同的是,JavaScript数组的length属性是可变的,这一点需要特别注意。当length属性被设置得更大时

,整个数组的状态事实上不会发生变化,仅仅是length属性变大;当length属性被设置得比原来小时,则原先数组中索引大于或

等于length的元素的值全部被丢失。下面是演示改变length属性的例子:

var arr=[12,23,5,3,25,98,76,54,56,76];

//定义了一个包含10个数字的数组

alert(arr.length); //显示数组的长度10

arr.length=12; //增大数组的长度

alert(arr.length); //显示数组的长度已经变为12

alert(arr[8]); //显示第9个元素的值,为56

arr.length=5; //将数组的长度减少到5,索引等于或超过5的元素被丢弃

alert(arr[8]); //显示第9个元素已经变为"undefined"

arr.length=10; //将数组长度恢复为10

alert(arr[8]); //虽然长度被恢复为10,但第9个元素却无法收回,显示"undefined"

由上面的代码我们可以清楚的看到length属性的性质。但length对象不仅可以显式的设置,它也有可能被隐式修改。

JavaScript中可以使用一个未声明过的变量,同样,也可以使用一个未定义的数组元素(指索引超过或等于length的元素),这

时,length属性的值将被设置为所使用元素索引的值加1。例如下面的代码:

var arr=[12,23,5,3,25,98,76,54,56,76];

alert(arr.length);

arr[15]=34;

alert(arr.length);

代码中同样是先定义了一个包含10个数字的数组,通过alert语句可以看出其长度为10。随后使用了索引为15的元素,将其赋

值为15,即 arr[15]=34,这时再用alert语句输出数组的长度,得到的是16。无论如何,对于习惯于强类型编程的开发人员来说

,这是一个很令人惊讶的特性。事实上,使用new Array()形式创建的数组,其初始长度就是为0,正是对其中未定义元素的操作

,才使数组的长度发生变化。

由上面的介绍可以看到,length属性是如此的神奇,利用它可以方便的增加或者减少数组的容量。因此对length属性的深入

了解,有助于在开发过程中灵活运用。

2、prototype 属性

返回对象类型原型的引用。prototype 属性是 object 共有的。

objectName.prototype

objectName 参数是object对象的名称。

说明:用 prototype 属性提供对象的类的一组基本功能。 对象的新实例“继承”赋予该对象原型的操作。

对于数组对象,以以下例子说明prototype 属性的用途。

给数组对象添加返回数组中最大元素值的方法。要完成这一点,声明一个函数,将它加入 Array.prototype, 并使用它。

function array_max( )

{

var i, max = this[0];

for (i = 1; i < this.length; i++)

{

if (max < this[i])

max = this[i];

}

return max;

}

Array.prototype.max = array_max;

var x = new Array(1, 2, 3, 4, 5, 6);

var y = x.max( );

该代码执行后,y 保存数组 x 中的最大值,或说 6。

3、constructor 属性

表示创建对象的函数。

object.constructor //object是对象或函数的名称。

说明:constructor 属性是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有 JScript 固有对

象。constructor 属性保存了对构造特定对象实例的函数的引用。

例如:

x = new String("Hi");

if (x.constructor == String) // 进行处理(条件为真)。

function MyFunc {

// 函数体。

}

y = new MyFunc;

if (y.constructor == MyFunc) // 进行处理(条件为真)。

对于数组来说:

y = new Array();

具体使用:

使用数组

 基本操作

<script>

var a=new Array("cctv","sxtv","tytv");

var a=new Array(3);

var a=new Array();

a[0]="cctv";

a[1]="sxtv";

a[2]="tytv";

a[3]="xzy";

for(i=0;i<a.length;i++)

document.writeln(a[i]);

</script>

 多维数组

<script>

var rows= new Array();

rows[0]=new Array(5);

rows[1]=new Array(5);

rows[0][0]="你好";

rows[0][1]="邢志云";

if(rows[0][0]!=null)

{

alert(rows[0][0]);

}

</script>

数组赋值

可以像上边那样简单的依次赋值,也可以像下边的这样:

<script>

var xzy=new Array();

xzy=[1,2,3,4,5,"邢志云","嘿嘿"];//给数组xzy赋值

for(var i=0;i<xzy.length;i++)

{

alert(xzy[i]);

}

</script>

也可以直接赋值成多维数组

<script>

var s=["你好",["中国","太原","邢志云"],[3,3333],[4,4444],[5,5555],["0",["a","b","c"]],"cc"];

// 0 1 2 3 4 5 6

// 10 11 12 20 21 30 31 40 41

alert(s);//你好,中国,太原,邢志云,3,3333,4,4444,5,5555

alert(s[1]);//中国,太原,邢志云

alert(s[1][2]);//邢志云

alert(s[2][0]);//3

alert(s[2][1]);//3333

alert(s[5][1][0]);//a

alert(s[5][1][2]);//c

alert(s[6]);//cc

</script>

push:数据可以向最后的追加元素

var arr=new Array()

arr[0]="xbc1";

arr[1]="bcx2";

arr[2]="cctv3";

arr[3]="xctv4";

arr.push("邢志云");//向最后追加,也可以同时push多个

arr.push("0123");

for(i=0;i<arr.length;i++)

{

if(arr[i]!=null)

document.writeln(arr[i]);

}

pop:弹出最后一个元素,后进先出

var arr=new Array();

var s;

arr[0]="a1";

arr[1]="a2";

arr[2]="a3";

arr[3]="a4";

s=arr.pop();//弹出最后一个元素,把值付给s,并删除最后一个元素

alert(s);

for(i=0;i<arr.length;i++)

{

document.writeln(arr[i]);

}

//显示: a1 a2 a3

unshift:插入到第一个之前,

var arr=new Array();

var s;

arr[0]="a1";

arr[1]="a2";

arr[2]="a3";

arr[3]="a4";

arr.unshift("第一","第二");//插到第一个元素之前,后面的整体后移

for(i=0;i<arr.length;i++)

{

document.write(arr[i]+":");

}

//显示: 第一:第二:a1:a2:a3:a4:

 shift:弹出第一个元素,先进先出

var arr=new Array();

var s;

arr[0]="a1";

arr[1]="a2";

arr[2]="a3";

arr[3]="a4";

s=arr.shift();//弹出第一个元素,把值付给s,并删除第一个元素

alert(s);

for(i=0;i<arr.length;i++)

{

document.writeln(arr[i]);

}

//显示: a2 a3 a4

join:利用数组的join方法,连接所有的数组内容

数组的join(string val)可以将数组元素连接起来,并且用中间插入val,

当在网页上交互显示下拉框内容的时候可以将内容加载到数组内,再利用innerHTML将内容显示在出来

<script>

var a=new Array("cctv","sxtv","tytv");

var a=new Array(3);

var a=new Array();

a[0]="cctv";

a[1]="sxtv";

a[2]="tytv";

a[3]="xzy";

document.writeln(a.join("<br>"));//如果直接用a.join(),则默认会用,分割

</script>

显示:

cctv

sxtv

tytv

xzy

用这种方式连接字符串要比 s=s+”ddd”快的多

sort:数组排序 (从小到大)

var arr=new Array(1000)

arr[0]="xbc1";

arr[1]="bcx2";

arr[2]="cctv3";

arr[5]="xctv4";

arr.sort();

for(i=0;i<arr.length;i++)

{

if(arr[i]!=null)

document.writeln(arr[i]);

}

 reverse:数组反向,和sort配合使用能实现从大到小排序

var arr=new Array()

arr[0]="a1";

arr[1]="a2";

arr[2]="a3";

arr[3]="a4";

arr.push("邢志云");

arr.push("0123");

//arr.sort();

arr.reverse();//数组反向排列

for(i=0;i<arr.length;i++)

{

document.writeln(arr[i]);

}

//显示: 0123 邢志云 a4 a3 a2 a1

slice:数组截断后赋值给另外一个数组(不改变原始数组)

var xzy1=new Array();

xzy1=["a","b","c","hello","usa","eng"];

// 0 1 2 3 4 5

var xzy2=xzy1.slice(2,4);//从数组xzy1的2号元素开始到4号元素停止的值结束转成一个数组

for(var i=0;i<xzy2.length;i++)

{

document.write(xzy2[i]+":");//显示c hello

}

也可以这么写

<script>

var xzy1=new Array();

xzy1=["a","b","c","hello","usa","eng"];

// 0 1 2 3 4 5

var xzy2=Array.prototype.slice.call(xzy1,2,4);//从数组xzy1的2号元素开始到4号元素停止的值结束转成一个数组

for(var i=0;i<xzy2.length;i++)

{

alert(xzy2[i]);//显示c hello

}

</script>

 splice:数组截断或清空(改变原始数组)

var arr=new Array();

var s;

arr[0]="a1";

arr[1]="a2";

arr[2]="a3";

arr[3]="a4";

arr[4]="a5";

arr[5]="a6";

var arr2=arr.splice(3,2,"x1","x2");//从3号开始的2个元素,用x1和x2替换,并把替换下的值重新赋给数组arr2

//如果没有参数"x1","x2",则对应的2个元素会从arr中删除,后面的前推

for(i=0;i<arr.length;i++)

{

document.write(arr[i]+":");//显示: a1:a2:a3:x1:x2:a6:

}

document.write("<br/>");

for(i=0;i<arr2.length;i++)

{

document.write(arr2[i]+":");//显示: a4:a5:

}

 利用splice来清空数组

var arr=new Array();

arr[0]="a1";

arr[1]="a2";

arr[2]="a3";

arr[3]="a4";

arr[4]="a5";

arr[5]="a6";

alert(arr.length);//显示6

arr.splice(0,100000000);//可以理解为把arr数组清空,又回到初始状态

alert(arr.length);//显示0

 concat:数组连接

var arr=new Array();

var s;

arr[0]="a1";

arr[1]="a2";

arr[2]="a3";

arr[3]="a4";

arr[4]="a5";

arr[5]="a6";

var arr2=["b1","b2","b3"];

var arr3=arr.concat(arr2);

for(i=0;i<arr3.length;i++)

{

document.write(arr3[i]+":");//显示: a1:a2:a3:a4:a5:a6:b1:b2:b3:

}

 使用Map

map1:

<script>

var map = {};

map["张三"] = "1362348754";

map["李四"] = "0351-98476345";

map["王五"] = "0358-4873622";

alert(map["李四"]);

</script>

用map={}就可以把map清空;

map2:

<script>

var map = new Array();

map["张三"] = "1362348754";

map["李四"] = "0351-98476345";

map["王五"] = "0358-4873622";

alert(map["李四"]);//显示:0351-98476345

alert(map.length);//这里map.length显示为0

map[0] = "0358-4873622";

map[1] = "0358-4873622";

map[2] = "0358-4873622";

alert(map.length);//这里map.length显示为3

for(var i=0;i<map.length;i++)

{

document.write(map[i]);

}

alert(map["李四"]);//显示:0351-98476345

</script>

map3:

var map={"姓名":"邢志云","性别":"男","年龄":34}

map.婚否="已婚";//可以动态添加

eval("map.国籍="中华"");//但map.后面的标识符只能是以字符开头的,并且不能有-所以全球标识符不宜用在这里

alert(map.国籍);

//alert(map.姓名);//邢志云

//alert(map.年龄);//34

map["民族"]="汉族";//也可以像第一条中那样赋值,但这种可以用任意串做键,如: map["1-2"]="汉族";alert(map.姓名

+":"+map["1-2"]);//也能正常显示

alert(map.姓名+":"+map.民族);

for(var colname in map)

{

alert(colname );//姓名 性别 年龄 婚否

}

for(var colname in map)

{

alert(map[colname]);//邢志云 男 34 已婚

}

还可以这样

var s=""姓名":"邢志云","性别":"男",35:"年龄"";

eval("var map={"+s+"}");

alert(map["姓名"]);

或者

var s="姓名:"邢志云",性别:"男",35:"年龄"";

eval("var map={"+s+"}");

alert(map["姓名"]);

还可以嵌套

var map={"人员":{"张三":"男","赵六":"女"},

"车辆":{"桑塔纳":"6万","别克":"10万"},

"年龄":34}

alert(map.人员.赵六);//女

alert(map.车辆.桑塔纳);//6万

使用自定义的属性的数组

var a=new Array();

a[0]={};

a[0].姓名="邢志云";

a[0].年龄=32;

a[1]={};

a[1].姓名="李四";

a[1].年龄=28;

for(var i=0;i<a.length;i++)

{

alert(a[i].姓名+":"+a[i].年龄);

}

wpBeta

如果这串数字是纯数字并且之间没有被空格隔开的话可以使用split函数将数字转换为数组。具体实现代码如下:

var nums=123456;

var array=nums.split("");

其中nums是想要装换的数字串,array是数字串转换成的数组。array=[1,2,3,4,5,6];

jsarray

扩展资料:

在js中将数组转换为字符串的实现代码:

var array=[1,2,3,4,5,6];

var nums=array.join(",");

okok云

你可是有病

数字不先转换成字符串怎么用split切成数组

相关推荐

JS Array(数组)所有操作方法,改变数组方法、不改变数组方法

定义:返回由所有参数值组成的数组,如果没有参数,就返回一个空数组。 目的:Array.of() 出现的目的是为了解决上述构造器因参数个数不同,导致的行为有差异的问题。 参数: 第一个参数(必需):要转化为真正数组的对象。 第二个参数(可选): 类似数组的map方法,对每个元素进行处理,将处理后的值放入返回的数组。 第三个参数(可选): 用来绑定this。 ps:splice方法从数组中添加/删除项目,然后返回被删除的项目 语法: array.splice(index,howmany,item1,.....,itemX) 参数: index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。 item1, …, itemX: 可选。向数组添加的新项目。 返回值: 如果有元素被删除,返回包含被删除项目的新数组。 删除元素 删除并添加 不删除只添加 ps:方法接受两个参数,一个从哪里开始,一个是到哪里结束(但是不包括这个结束的元素本身)。如果是负数,就从倒数第几个。 参数可选: 规定排序顺序的比较 函数 。 默认情况下sort()方法没有传比较函数的话,默认按字母升序,如果不是元素不是字符串的话,会调用toString()方法将元素转化为字符串的Unicode(万国码)位点,然后再比较字符。 比较函数的两个参数 sort的比较函数有两个默认参数,要在函数中接收这两个参数,这两个参数是数组中两个要比较的元素,通常我们用 a 和 b 接收两个将要比较的元素: sort排序常见用法 数组元素为数字的升序、降序: 数组多条件排序 自定义比较函数 定义: 在当前数组内部,将指定位置的成员复制到其他位置,并返回这个数组。 语法: array.copyWithin(target, start = 0, end = this.length) 参数: 三个参数都是数值,如果不是,会自动转为数值. target(必需):从该位置开始替换数据。如果为负值,表示倒数。 start(可选):从该位置开始读取数据,默认为 0。如果为负值,表示倒数。 end(可选):到该位置前停止读取数据,默认等于数组长度。使用负数可从数组结尾处规定位置。 浏览器兼容(MDN): chrome 45,Edge 12,Firefox32,Opera 32,Safari 9, IE 不支持 从上述例子: 第一个参数是开始被替换的元素位置 要替换数据的位置范围:从第二个参数是开始读取的元素,在第三个参数前面一个元素停止读取 数组的长度不会改变 读了几个元素就从开始被替换的地方替换几个元素 参数: 第一个元素(必须): 要填充数组的值 第二个元素(可选): 填充的开始位置,默认值为0 第三个元素(可选):填充的结束位置,默认是为this.length 使用join方法或者下文说到的toString方法时,当数组中的元素也是数组或者是对象时会出现什么情况? join()/toString()方法在数组元素是数组的时候,会将里面的数组也调用join()/toString(),如果是对象的话,对象会被转为[object Object]字符串。 如上述栗子:调用数组的toLocaleString方法,数组中的每个元素都会调用自身的toLocaleString方法,对象调用对象的toLocaleString,Date调用Date的toLocaleString。 该方法的效果和join方法一样,都是用于数组转字符串的,但是与join方法相比没有优势,也不能自定义字符串的分隔符,因此不推荐使用。 ps:当数组和字符串操作的时候,js 会调用这个方法将数组自动转换成字符串 ps:字符串也有一个slice() 方法是用来提取字符串的,不要弄混了。 参数: begin(可选): 索引数值,接受负值,从该索引处开始提取原数组中的元素,默认值为0。 end(可选):索引数值(不包括),接受负值,在该索引处前结束提取原数组元素,默认值为数组末尾(包括最后一个元素)。 如上:新数组是浅拷贝的,元素是简单数据类型,改变之后不会互相干扰。 如果是复杂数据类型(对象,数组)的话,改变其中一个,另外一个也会改变 原因在定义上面说过了的:slice()是浅拷贝,对于复杂的数据类型浅拷贝,拷贝的只是指向原数组的指针,所以无论改变原数组,还是浅拷贝的数组,都是改变原数组的数据。 ES6扩展运算符...合并数组: 因为ES6的语法更简洁易懂,所以现在合并数组我大部分采用...来处理,...运算符可以实现cancat的每个栗子,且更简洁和具有高度自定义数组元素位置的效果。 参数: searchElement(必须):被查找的元素 fromIndex(可选):开始查找的位置(不能大于等于数组的长度,返回-1),接受负值,默认值为0。 严格相等的搜索: 数组的indexOf搜索跟字符串的indexOf不一样,数组的indexOf使用严格相等===搜索元素,即数组元素要完全匹配才能搜索成功。 注意:indexOf()不能识别NaN 参数: searchElement(必须): 被查找的元素 fromIndex(可选): 逆向查找开始位置,默认值数组的长度-1,即查找整个数组。 关于fromIndex有三个规则: 正值。如果该值大于或等于数组的长度,则整个数组会被查找。 负值。将其视为从数组末尾向前的偏移。(比如-2,从数组最后第二个元素开始往前查找) 负值。其绝对值大于数组长度,则方法返回 -1,即数组不会被查找。 参数: searchElement(必须):被查找的元素 fromIndex(可选):默认值为0,参数表示搜索的起始位置,接受负值。正值超过数组长度,数组不会被搜索,返回false。负值绝对值超过长数组度,重置从0开始搜索。 includes方法是为了弥补indexOf方法的缺陷而出现的: indexOf方法不能识别NaN indexOf方法检查是否包含某个值不够语义化,需要判断是否不等于-1,表达不够直观
2023-07-08 23:39:051

js new Array数组

可以任意修改长度
2023-07-08 23:39:153

【JS】Array.of() 创建数组

Array.of() 的作用是 创建数组 。 创建数组本来已经有 字面量 和 Array构造函数 等方法,但由于 Array构造函数 创建数组时有一些怪异的行为,所以 ES6 添加了 Array.of() 来弥补 Array构造函数 的不足。 以上是 Array构造函数 的用法,也是 Array构造函数 的怪异行为。 new Array() 当只传入一个参数时,不能传入负数,也不能传入浮点数。 在使用 new Array 时,一不小心就会创建出稀疏数组。这个动作会产生一些诡异的“空槽”行为,这也是JS数组广为人所诟病的一点。 Array.of() 取代了 Array() 成为数组的推荐函数形式构造器,因为 Array.of() 并没有这个特殊的单一数值型参数值的问题。 Array.of() 总是返回参数值组成的数组。如果没有参数就返回一个空数组。 所以说,Array.of() 的行为比 Array() 更统一。 如果有一个回调函数需要传入的参数封装为数组,而且不能保证传入的值一定不是0或正整数,Array.of()可以完美解决这个问题。 如果需要构建 Array 的子类,并且想要在子类实例中创建和初始化元素。 这里用了reduce方法,这个方法是Array的,这里用 this.reduce 是因为 Calculator 继承了 Array。 Array.reduce的使用方法可以看下面的链接 【JS】遍历数组的常用方法(举例版)
2023-07-08 23:39:431

在js程序中使用Array对象建立一个5*2的二维数组?

var arr = new Array(5);for (var i = 0; i < arr.length; i++) {arr[i] = new Array(2);}
2023-07-08 23:39:502

JS数组方法

数组的创建方式 1.字面量的形式: var arr=[1,2,3]; 1.构造函数: var arr1=new Array();//不常用 Array构造函数有一个很大的缺陷,就是不同的参数,会导致它的行为不一致。 1.单个数值作为参数,参数表示数组的元素个数 可以看到,Array作为构造函数,行为很不一致。因此,不建议使用它生成新数组,直接使用数组字面量是更好的做法。 push/pop/unshift/shift//增加、删除元素 (数组的方法,所以使用时应调用 数组名.方法名()) arr. slice/splice//截取元素 arr.slice(); 原数组不发生改变 无参数时,返回原数组,相当于数组的复制。 一个参数时,从参数作为下标的元素截取,至数组结束。 二个参数时,从第一个参数作为下标(索引)的元素开始截取,到第二个参数作为下标的元素结束,但不包括第二个参数作为下标的函数。 (起始元素包含,结尾元素不包含) 多个参数时,前两个参数起效,后边的参数无效。 arr.splice(); 原数组改变 无参数时,返回空数组。 一个参数时,从参数作为下标的元素截取,至数组结束。 二个参数时,从第一个参数作为下标(索引)的元素开始截取,即表示截取的起始位置,第二个参数表示截取的元素个数。 多个参数时,前两个参数起效,后边的参数从原数组的截取起始位置开始填充,填充到原数组。 reverse/sort//改变元素位置 arr.reverse(); //数组翻转(元素位置颠倒) arr.sort(); 从小到大排序,但遵循的是字符串的按位比较规则,所以排序结果容易出现异常。 join();//不改变原数组 join() 以指定参数作为连接符,将所有数组成员连接为一个字符串返回。如果不提供参数,默认用逗号分隔。 concat();//拼接数组 不改变原数组 ES5新增数组操作方法 indexOf (item) 返回元素在数组中对应的索引值,找不到的话,返回-1,用以测试元素是否存在于数组中 forEach(function(item,index)) 遍历数组,没有返回值 map(function(item,index)) 遍历数组,存在返回值 filter(function(item)) {return item>2} 返回大于2的元素 some 返回布尔值,条件部分成立|| arr.some(function(item){return item>2} ) every 返回布尔值,条件全部成立&& arr.every(function(item){return item>2} ) reduce (对数组中的所有元素调用指定的回调函数。该回调函数的返回值为累积结果,并且此返回值在下一次调用该回调函数时作为参数提供。)arr.reduce(function(a,b){return a+b;}); toString()和toLocaleString() 功能:将数组的每个元素转化为字符串,并且输出用逗号分隔的字符串列表。功能类似join(); 参数:无 输出:字符串 indexOf()和lastIndexOf() 功能:搜索整个数组中具有给定值的元素,返回找到的第一个元素的索引或者如果没有找到就返回-1;lastIndexOf为反向搜索。 参数:元素的值,起点索引(可选) 输出:索引值或-1 Array.from() 功能:将两类对象转为真正的数组:类似数组的对象和可遍历的对象 参数:待转换的对象,第二个参数可选,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。 输出:数组 Array.of() 功能:将一组值,转换为数组。 参数:数组元素 输出:数组 copyWithin() 功能:在当前数组内部,将指定位置的成员复制到其他位置,返回变化后的数组。 参数:索引(从该位置开始替换数据);索引(从该位置开始读取数据,默认为0,负值表示倒数);索引(到该位置前停止读取,默认为最大索引) 输出:返回当前替换后的数组。 注意:改变了当前数组 find()和findIndex() 功能:找到第一个符合条件的数组成员。 参数:回调函数,所有数组成员依次执行该函数,直到找到第一个返回值为true的成员。回调函数可以接受三个参数,依次为值,位置,原数组。 输出:find()返回找到的成员;findIndex()返回成员的位置。 fill() 功能:使用给定的值,填充一个数组。 参数:第一个参数为待填充的值,第二和第三参数可选,分别表示填充的起始和结束位置(不包括)。 输出:填充后的数组 entries()、keys()、values() 功能:用于遍历数组,可以用for…of循环进行遍历。区别是keys()是对键名的遍历、values是对键值的遍历、entries()是对键值对的遍历。 参数:无 输出:遍历器对象 includes() 功能:表示某个数组是否包含给定的值 参数:第一个参数必选(待检查的给定值),第二个参数可选,表示搜索的起始位置,默认为0,负数表示倒数的位置。 输出:一个布尔值。 注意:和indexOf的区别,indexOf进行了运算符的强比对,会导致对NaN误判。
2023-07-08 23:39:581

js如何往数组Array中添加元素?

向一个对象数组里面添加新的属性var arry= [{a:11,b:22,c:33,d:44},{a:11,b:0,c:0,d:44},{a:11,b:22,c:99,d:99}];var arry2=[];arry.map(((item, index)=> {arry2.push(Object.assign({},item,{mess1:item.c,mess2:item.d}))}))console.log(arry2);
2023-07-08 23:40:071

js里面array是数组还是集合

Array是数组
2023-07-08 23:40:142

在js里新建一个Array,怎么像Array里存入数据 在线急等

var colors = new Array();var count = colors.push("red","green");就用pushunshift也可以添加并返回长度,是从前面添加,shitf是取
2023-07-08 23:40:231

JS中的 Array 类是否有 add方法

可以用push代替
2023-07-08 23:40:336

js创建Array数组保存数据,数据是存放在哪里的呢?容量有上限的吗?

可以说无上限2G内存 1024mb 1024*1024kb 1024*1024*1024byte上线是输入1073741824个汉子才满new关键字 实例化数组对象可以用 var 声明一个变量来保存实例化后的对象数组一般是在栈里的所以一般速度要快些var a=new Array()就是实例化一个数组对象然后存放进变量a 里a在内存中的指针指向新创建的栈
2023-07-08 23:40:483

js中怎么把值放入数组中

js操作不了session啊还是用ajax来操作吧
2023-07-08 23:41:107

js如何判断一个对象是不是Array

试试这个var a=[1,2];a instanceof Array
2023-07-08 23:42:124

如何删除JS里Array数组的任意行

插入 删除 好像只能操作首尾吧
2023-07-08 23:42:282

js array 删除指定元素

array删除元素的一般使用splice方法。splice方法需要首先确定要删除的元素索引值,然后可以删除一个或者多个元素。对于不知道所删除元素的索引值的情况,可以先对指定元素寻找索引值。
2023-07-08 23:42:351

js Array被escape后怎么还原

unescape()。。。。。。看http://www.w3school.com.cn/js/jsref_unescape.asp
2023-07-08 23:42:442

js初始化Array为什么要设定长度

完全可以不用。
2023-07-08 23:42:541

JS数组有哪几种定义方式?

最基本的两种定义方式:1、var arr=new Array(); arr[0]="XXX"; arr[1]="XXX";2、var arr=new Array("XXX","XXX");
2023-07-08 23:43:092

【js里用Array创建空数组的一个小问题】

的功能吧,好象没有add方法<script>var datelist = new Array();//全局集合 <% List arrlist = (List)request.getAttribute("list"); Iterator iter = arrlist.iterator(); int i = 0;while(iter.hasNext()){ String strcolor = (String)iter.next(); String exec = strcolor.substring(0, 10); %>datelist[<%=i%>] = <%=exec%>;<% //往集合里放值 i++;} %> </script>你是要日期的js不,我给你个代码直接调用就行了
2023-07-08 23:44:123

js array 去除重复字符 数字结构是var arr=[1,1,2,3,5,7,7] 要求得到2,3,5 重复就去掉

几位前辈写的真好,我受教了,谢谢大家
2023-07-08 23:44:193

js里面的Array()如何在jsp中迭代?求详解

var a = new Array(3);alert(a.length);for (var i=0;i<a.length;i++) a[i] = ifor (var i=0;i<a.length;i++) alert(a[i])
2023-07-08 23:44:352

js删除数组元素

var arr = [ 1, 2, 3, 4, 5 ];//原始数组alert("原始数组:" + arr);// 1,2,3,4,5//删除并且返回第一个元素alert("执行arr.shift() 返回 :" + arr.shift());//1alert("数组:" + arr);//2,3,4,5//删除并且返回最后一个元素alert("执行arr.pop() 返回:" + arr.pop());//5alert("数组:" + arr);//2,3,4//在数组开头添加一个或者多个元素,返回数组新长度alert("执行arr.unshift("one") 返回:" + arr.unshift("one"));//4alert("数组:" + arr);//one,2,3,4//在数组尾部添加一个或者多个元素,返回数组新长度alert("执行arr.push("end") 返回:" + arr.push("end"));//5alert("数组:" + arr);//one,2,3,4,end//从第i个位置开始删除n个元素,返arr.splice(0, 1);alert("执行arr.splice(0,1) ");alert("数组:" + arr);//2,3,4,end//从第i个位置开始,删除n个元素,并且在这个位置插入s个元素arr.splice(0, 0, "one");alert("执行arr.splice(0,0,"one")");alert("数组:" + arr);//one,2,3,4,endhttp://www.w3school.com.cn/js/jsref_obj_array.asp
2023-07-08 23:44:433

怎么用JS循环取到array里面的值啊

var arr=[ {"a":"1","b":"2","c":"3"}, {"a":"12","b":"22","c":"32"},{"a":"13","b":"23","c":"33"}]; for(var i=0;i<arr.length;i++){console.log(arr[i])}输出:Object {a: "1", b: "2", c: "3"} Object {a: "12", b: "22", c: "32"} Object {a: "13", b: "23", c: "33"}接下来就好做了arr[i].a会取出 1,12,13b和c同理
2023-07-08 23:44:521

在js中调用java 函数返回类型为arraylist ,在js中怎样转换为array数组类型呢

java中循环数组的值拼接成字符串:元素、元素、元素 返回到页面。在JS中使用split或者Arrys.toString(数组),去掉最前的[和最后的],然后split
2023-07-08 23:44:592

js 数组array 对象 小数点后2位 toFixed() 替换 二维数组 替换键值

<script>obj = {c: {aa: [1, 2, 3, 4],bb: [1.1, 2.2, 3.3],cc: [1.11, 2.22, 3.33]}};let {c: {aa}, c: {bb}, c: {cc}} = obj;let foo = fn => {if (Array.isArray(fn)) {for (let i = 0; i < fn.length; i++) {foo(fn[i]);}}else {let x = fn.toFixed(2);console.log(x);}};let a = aa.concat(bb, cc);foo(a);</script>代码如上,首先用解构赋值把对象里面的数字全部取出来,之后用for方法把获得的所有对象的值依次取出来,之后保留两位小数,输出的x就是处理后的
2023-07-08 23:45:061

js中的Array对应c#后台代码中的哪个类型。

object[]
2023-07-08 23:45:133

在js中调用java 函数返回类型为arraylist ,在js中怎样转换为array数组类型呢

java中ArrayList有一个方法是toArray,返回array数组类型
2023-07-08 23:45:425

js array如何判断数组里面最小的一个值

可以用数组的sort方法进行排序,然后再取第一个或最后一个值就行了
2023-07-08 23:45:581

js 中的Array.map是什么意思

js 中的Array.map是阵图的意思
2023-07-08 23:46:061

js里new array()括号填的参数是什么?

//定义数组的值为a,b。var arr = new Array("a", "b");console.log("数组的长度"+ arr.length);console.log("数组的值"+ JSON.stringify(arr));//是定义一个长度为3的数组。var arr = new Array(3);console.log("数组的长度"+ arr.length);console.log("数组的值"+ JSON.stringify(arr));
2023-07-08 23:46:131

JS判断数组是不是包含某个元素

JS判断数组是否包含某个元素 JavaScript in_array - php.js 判断js数组包是否包含某个元素 实现这种功能的函数写法比较多,其中有一种是下面这种写法 Array.prototype.S = String.fromCharCode(2); Array.prototype.in_array = function(e) { var r = new RegExp(this.S+e+this.S); return (r.test(this.S+this.join(this.S)+this.S));}; 把要比较的字符前后都加一个字符,变成去比较三个字符这样就防止了恰好传入join方法的分隔符也是这个字符导致比较结果不准确 调用方法如下 var times = 100000; var la = [];
2023-07-08 23:46:211

js怎么判断某个数组里面是否包含这个元素?

在C#语法中判断集合是否包含某个元素可以使用Contains方法,但是类似的问题在javascript中要怎么处理呢,js中没有Contains方法。 我们可以利用js的原型扩展来封装一个我们自己的Contains方法。<script type="text/javascript"> $(function () { Array.prototype.contains = function (element) { //利用Array的原型prototype点出一个我想要封装的方法名contains for (var i = 0; i < this.length; i++) { if (this[i] == element) { //如果数组中某个元素和你想要测试的元素对象element相等,则证明数组中包含这个元素,返回true return true; } } } //用一个例子来验证一些我们封装的方法 var $subCategoryID = $("#hidSubCategory").val(); var $subCategoryIDs = new Array(); //构造一个数组对象 $subCategoryIDs = $subCategoryID.split(","); //为数组赋值 $("input[type=radio]").each(function () { if ($subCategoryIDs.contains($(this).attr("id"))) { //利用contains方法判断数组中是否含有$(this).attr("id") $(this).attr("checked", true); } }) }) </script>
2023-07-08 23:46:291

js中已知一个array,怎样获取一个map在array中的索引

不行的话就用循环吧var index=(function(){for(var i=0;i<array.length;i++){if(map.key===array[i].key){return i;}}})()
2023-07-08 23:46:361

js里怎么向二维数组添加元素?例如:array={{1,2,3},......}向array[0]

你这个arr={{1,2,3}...}是不是应该写成arr=[[1,2,3]....]如果只是单纯向arr[0]中添加数字var arr=[[1,2,3],[1,2]];function add(){ arr[0].push(4); alert(arr[0]);}add();
2023-07-08 23:46:511

js数组如何去重?

1.创建一个新的临时数组来保存数组中已有的元素2.vara = new Array(1,2,2,2,2,5,3,2,9,5,6,3);3.Array.prototype.unique1 = function(){4.varn = [];//一个新的临时数组5.for(vari=0; i<this.length; i++){
2023-07-08 23:46:582

js如何往数组Array中添加元素

数组元素的添加 arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度 arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度 arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。 解释说明:push:将参数添加到原数组末尾,并返回数组的长度 unshift:将参数添加到原数组开头,并返回数组的长度
2023-07-08 23:47:261

js如何往数组Array中添加删除元素

数组元素的添加 1.arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度。2.arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度。3.arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。 一. 基本概念1.JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。 2.在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。3.为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。二. 组成部分javascript组成一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:核心(ECMAScript)、文档对象模型(Document Object Model,简称DOM)、浏览器对象模型(Browser Object Model,简称BOM)。
2023-07-08 23:47:331

js array,后台怎么接收

如果是混合类型的数组,如:arr=["zifuc",111,10.1];就用object arr=new object[]{};接收;如果是字符串、数字,就用string、int的数组接收。很简单的。
2023-07-08 23:47:411

如何删除JS里Array数组的任意行

用splice(Array.prototype.splice)方法。splice方法修改数组内容,删除对应项,添加新的项。array.splice(start);//从第start项开始删除后面所有项array.splice(start,deleteCount);//从第start项开始,删除后面deleteCount数量的项array.splice(start,deleteCount,item1,item2...);//从第start项开始,删除后面deleteCount数量的向,并用item1,item2...替换。对于你的需求,例子如下:var arr = [ 0, 1, 2, 3, 4, 5, 6 ];arr.splice( 3, 1 ); // 删除数组第三项 console.log( arr ); // output [ 0, 1, 2, 4, 5, 6 ]
2023-07-08 23:47:481

js 如何动态添加数组

var arr=[];arr.push(123);arr.push(456);alert(arr);//结果:123,456
2023-07-08 23:47:572

JS数组有哪几种定义方式?

定义数组数组对象用来在单独的变量名中存储一系列的值。我们使用关键词 new 来创建数组对象。下面的代码定义了一个名为 arr 的数组对象:vararr=newArray();有两种向数组赋值的方法(你可以添加任意多的值,就像你可以定义你需要的任意多的变量一样)。varmycars=newArray();mycars[0]="Saab";mycars[1]="Volvo";mycars[2]="BMW";也可以使用一个整数自变量来控制数组的容量:varmycars=newArray(3);mycars[0]="Saab";mycars[1]="Volvo";mycars[2]="BMW";2:varmycars=newArray("Saab","Volvo","BMW");-------------------------------------------------------------------------------------或者用数组字面量(直接量)方便的创建数组。一个数组字面量是在一对方括号中包裹着一个或多个用 逗号 隔开的表达式。并且数组中的每个值都有索引。从0开始。varempty=[];varcars=["Saab","Volvo","BMW"];empty[1]//undefinedcars[1]//"Volvo"
2023-07-08 23:48:051

js中toarray是什么意思

toArray() 方法以数组的形式返回 jQuery 选择器匹配的元素1234567$("button").click(function(){x=$("li").toArray() //将li元素转换为数组for (i=0;i<x.length;i++){alert(x[i].innerHTML); }});
2023-07-08 23:48:141

js里如何从数组中获取值

操作数组的方式所有语言都是一样的。var arr = [1,2,3,4,5];alert(arr[0]);
2023-07-08 23:48:243

js 如何判断数组为空

arr.length === 0
2023-07-08 23:48:463

JS里面怎么定义数组?

var sc=new Array();就这样sc[0] = "素材阶段4content1.jpg";sc[1] = "素材阶段4content2.jpg";sc[2] = "素材阶段4foot.jpg";你写的对
2023-07-08 23:49:051

js中 new Array()出的数组是有序还是无序的?

数组是有序的,只要没有通过其他方法对数组顺序调整,如sort,数组就会按顺序出来
2023-07-08 23:49:231

js中object和array有哪些区别?

数组表示有序数据的集合,而对象表示无序数据的集合。如果数据的顺序很重要,就用数组,否则就用对象。比如有一个数组a=[1,2,3,4],还有一个对象a={0:1,1:2,2:3,3:4},然后你运行alert(a[1]),两种情况下的运行结果是相同的!这就是说,数据集合既可以用数组表示,也可以用对象表示,作为有序的数组, js 提供了很多函数用以高速处理数组这一个特别的 "对象" 如增加 删除 排序 等. 用对象的话就代码复杂得多了.而且效率也低.
2023-07-08 23:49:301

js中对数组处理的几种方法

js定义变量很灵活的var arr = ();var arr = [];var arr = new Array();这些都可以。
2023-07-08 23:49:392

JS Int8Array编码

TCP/IP开发中,出现需要自己编码的情况,这种情况需要将变量拓展为自己需要的byte[]表现形式。 假设我们需要编码格式如下: 1111 1111 ... 1111 1111 1111 1111 ... 第一个8位,表示文件名的长度,紧接着是文件名,然后用一个32位表示文件的长度,最后是文件数据。 这里用js中的Int8Array完成编码。Int8Array是一种TypedArray,本质上是一个数组,特点是每个元素的长度为8位(一个byte)。 假设filenameArr为文件名数组,fileArr为文件数组: 那么可以想到,4个字节的数组在java中相当于一个int,它可以表示的最大值就是2,147,483,647。我们这里就需要手动计算每个字节的值,不足32位的,需要将高位全部置成0。 采取的方法是从高到低,每次计算8位,然后放入数组 fileLengthArr[0] = fileArr.length >> 24 & 0xFF; 这里的计算方式是先把要放入的值右移24位,再截取后8位,得到其高8位的值,比如文件长度是1,895,825,407个字节,那么其二进制表示就是 01110000111111111111111111111111 右移24位得到 0000 0000 0000 0000 0000 0000 1000 1111 跟0xFF,也就是1111 1111 做与运算,就得到 1000 1111 再比如文件长度是16,777,215个字节,那么其二进制表示就是 1111 1111 1111 1111 1111 1111 只用了24位就表示完了,那么右移24位,我们会得到 0000 0000 0000 0000 0000 0000 0000 0000 做与运算,得到 0000 0000 可以看到符合我们的需求,也就是不足32位的,高位用0补齐。 依次类推,依次计算每个8位的值: 再把这个数组拼接到结果中: result = result.concat(fileLengthArr).concat(fileArr); 如果要用WebSocket传输,那么要将这个array转换成ArrayBuffer: var resultBuffer =new Int8Array(result).buffer; 用上面的例子,如果文件名长度是255,文件长度是65535,那么result应该是这样的: [255, ...(255个元素)...0,0,255,255,...(65535个元素)] 解码时,先取一个字节(8位),作为文件名的长度,然后向后取255个元素,转换成文件名,再取4个字节,作为文件的长度,再向后取65535个字节,存储成文件。 总结: 这里学到了几个基本概念,首先一个byte[],字节数组,里面的每个元素都是8位,刚好对应一个字节,方便存取。其次是位移的概念,右移24位相当于取一个32位的值的高8位,& 0xFF运算相当于只保留这个值的低8位(一个F(hex)=1111(bin))。这里用到的编码格式是一种较为粗糙的格式,长度位能表现的最大值固定,且位数固定,效率不是最高的。但基本理念要厘清,就是在编码时,我们是按照每8位依次计算并存入数组的。
2023-07-08 23:50:141

js里如何从数组中获取值?

先用typeof判断类型,然后parseFloat转换,判断结构是否NaN。JS获取数组最大值、最小值及长度的方法:最小值:Array.prototype.min = function() {var min = this[0];var len = this.length;for (var i = 1; i < len; i++){if (this[i] < min){min = this[i];}}return min;}最大值:Array.prototype.max = function() {var max = this[0];var len = this.length;for (var i = 1; i < len; i++){if (this[i] > max) {max = this[i];}}return max;}数组长度:var array = new array(1,2,3,2,4,55,2);alert(array.length);//输出7
2023-07-08 23:50:241

js怎么输出数组

alert() 是不能查看数组,对象的console.log(数组变量);然后你用火狐的friebug 在控制台查看
2023-07-08 23:50:345