数组处理

193 阅读1分钟

将一个数组中的某些项取出,组成一个新的数组(map方法)

this.originArr = [
{username:'pride',id_code:'123',sink:'mabe1'},         {username:'red',id_code:'234',sink:'mabe2'}, 
{username:'greed',id_code:'456',sink:'mabe3'},
{username:'yellow',id_code:'678',sink:'mabe4'},
{username:'purple',id_code:'890',sink:'mabe5'}, ]; 
// 新数组,用来装数据 
var newArr = [];
//通过map方法将原始数组中的每一项循环 
this.originArr.map(function(item,index){ 
//新数组的项,用来盛放每一项中的各个参数,每次清空,这样避免改变sevm的值 
var sevm = {}; 
//给每一项中的参数初始化并赋值 
sevm['name'] = item.username; sevm['code'] = item.id_code; //将项放进新的数组
newArr[index] = sevm
}) 
this.newArr = this.originArr.map(function(item,index){ 
return {
name:item.username,code:item.id_code}
}) 
this.originArr.map(function(item){ 
var sevm = {}; sevm['name'] = item.username; 
sevm['code'] = item.id_code; newArrs.push(sevm) })

提取某个字段 组成新数组

//原数组 
arr1 = [   {id: "1", age: "34"},   
{id: "2", age: "46"},  
{id: "3", age: "7"},  
{id: "4", age: "25"} ]
//新数组 arr2 = ["1", "2", "3", "4"]

锁定数组的的长度(只读模式)

var a = [1,2,3]  
//定义一个数组
Object.defineProperty(a,"length",{
   writable:false
}) 
//将a数组的长度属性设为只读
a.length = 0 
//将a的长度改为0
console.log(a.length);  
//打印a数组的长度,还是3

将数组合并成字符串


var a = [1,2,3];
var b = a.join("");
console.log(a); //[1, 2, 3],原数组不改变
console.log(b); //"123",变成字符串

Array.sort()方法,返回排序后的数组。如果数组包含undefined,会被排到数组的尾部。如果不带参数的调用sort(),数组元素以字母表顺序排序。

var a = [2,33,1111,444];  
a.sort()             
console.log(a); 
//返回的结果是[1111, 2, 33, 444]
从小到大排列
var a = [2,33,1111,444];            
a.sort(function (a,b) {
    return a-b
})             
console.log(a); //[2, 33, 444, 1111]