怎样用JS将一个数组内的元素平均分为两个数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用JS将一个数组内的元素平均分为两个数组相关的知识,希望对你有一定的参考价值。

参考技术A var arr=[1,2,3,4,5,6];
function fun1(arr)
var brr1=[];
var brr2=[];
for(var i=0;i<arr.length/2;i++)
brr1[i]=arr[i*2];
brr2[i]=arr[i*2+1];

console.log(brr1); //[1,3,5]
console.log(brr2); //[2,4,6]

fun1(arr);
function fun2(arr)
var brr1=[];
var brr2=[];
for(var i=0;i<arr.length/2;i++)
brr1[i]=arr[i];
brr2[i]=arr[i+arr.length/2];

console.log(brr1); //[1,2,3]
console.log(brr2); //[4,5,6]

fun2(arr);

本回答被提问者和网友采纳

怎样删除js数组中的undefined?

在使用一个js数组的时候 有时候会出现一个undefined 怎么把这项删除?

1、若要删除其中的'b',有两种方法:delete方法:delete,这种方式数组长度不变,此时arr[1]变为fined了。

2、但是也有好处原来数组的索引也保持不变,此时要遍历数组元素可以才用。

3、这种遍历方式跳过其中undefined的元素,该方式IE4.o以后都支持了。

4、数组对象splice方法:arr.splice(1,1);这种方式数组长度相应改变,但是原来的数组索引也相应改变。

5、splice参数中第一个1,是删除的起始索引(从0算起),在此是数组第二个元素。

6、第二个1,是删除元素的个数,在此只删除一个元素,即'b';此时遍历数组元素可以用普通遍历数组的方式,比如for,因为删除的元素在数组中并不保留

7、该方法IE5.5以后才支持,值得一提的是splice方法在删除数组元素的同时,还可以新增入数组元素。

参考技术A

思路

方法一:如果数组中的元素有意义的是非零或者非空,则可以根据if(!a[i])的方式进行判断

方法二:比较通用的判断undefined是使用typeof的方式,判断是不是等于字符串undefined

代码

var a=[];
a[5]=7;
var b = [];//去除undefined后的结果
for(var i=0;i<a.length;i++)
    if(typeof(a[i])!='undefined')
        b.push(a[i]);
    

参考技术B 读取数据的时候判断是否为undefined 然后过滤掉 参考技术C 读取数据的时候判断是否为undefined 然后过滤掉 参考技术D fn = function (item)return item
arr.filter(fn)

以上是关于怎样用JS将一个数组内的元素平均分为两个数组的主要内容,如果未能解决你的问题,请参考以下文章

php 数组有两个元素怎样用sort排序

如何找到一个numpy数组的多个均匀分布的方法?

怎样使数组元素乱序

js数组元素怎样删除最后一个元素

DelPhi中怎样定义数组及字母组

二维数组的 每行的元素个数必须一样吗?