js中数组的基本方法

定义数组的方法

1:var arr = [1, 2, 3, 4]; 

2.var arr2 = new Array(4);

3.var arr3 = new Array(1, 2, 3, 4); 

数组的长度 (可读可写)                           字符串的长度(只能读)

var arr = [1, 2, 3, 4, 5];

修改原数组长度

arr.length = 3;

console.log(arr.length); // 3;

console.log(arr); // [1, 2, 3]

把数组长度再次改回原来长度

arr.length=5

console.log(arr,arr.length); // [1, 2, 3,undefiend,undefiend]  5


数组方法

Array.join()

// 参数: 拼接符 默认为逗号

数组中所有元素都转化为字符串并连接在一起,返回最后生成的字符串

var arr = [1, 2, 3, 4];

console.log(arr.join()); // '1,2,3,4'

console.log(arr.join('-')); // '1-2-3-4'

字符串转换为数组

String.split()

数组的反转 Array.reverse()

将数组中的元素倒序,会改变原数组

数组的排序 Array.sort(function(a,,b){

return a-b(从小到大) || b-a(从大到小)});  会改变原数组

Array.concat()  创建并返回一个新数组   不会改变原数组      字符串也有此方法 ,且不会改变原字符串

截取方法:

Array.slice(开始下标,结束下标); 不会改变原数组 。字符串中也有此方法且不会改变原字符串 。

Array.splice(开始下标,删除长度,新增元素);    会改变原数组

数组的栈方法与队列方法

 Array.unshift()       从前面添加元素        返回值是数组的长度

 Array.shift()           删除前面元素           返回值删除的元素组

 Array.push()          从末尾添加元素       返回长度

 Array.pop()             删除末尾元素         返回值删除的元素组

栈方法:(后进先出)

push() + pop()

队列方法 (先进先出)

    在数组的末端添加项,从数组的前端删除项

    push() + shift()

    在数组的前端添加项,从列表的末端删除项

    unshift() + pop()

数组的遍历方法                                          

第一种遍历的方式                                  

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

    console.log(arr[i]);

}

第二种遍历的方式 (会将数组定义的属性枚举出来)

for (var k in arr) {

    console.log(arr[k]);

}

第三种遍历的方式

Array.forEach() 

    从头到尾遍历数组(只能通过try/catch终止循环)

eg:

    var arr = [2, 4, 5, 6];

   arr.forEach(function (ele(元素), index(下标), array(数组)) {

    });

不同返回结果的遍历 

1. Array.map(); ()

    返回新数组,不改变原数组

    要有return

    返回被加工后的新元素

eg:var res = arr.map(function (ele(元素), index(下标), array(数组)) {

    console.log(ele, index, arr);

    return ele + 1(映射新数组执行的语句);

});

console.log(res); // [3, 5, 6, 7]

console.log(arr); // [2, 4, 5, 6]

2. Array.filter() 过滤

    返回满足条件的元素组成的新数组

    return 执行条件; // 返回元素满足您定义的条件的元素

eg:var res = arr.filter(function ((ele(元素), index(下标), array(数组))) {

    return ele >= 4;

});

console.log(res); // [4, 5, 6]

console.log(arr); // [2, 4, 5, 6]

3. Array.every() 和 Array.some()

every():每一项都返回true,则返回true

eg:var arr=[1,2,3,4,5]

var res = arr.every(function ((ele(元素), index(下标), array(数组))) {

    return ele >0; //所有元素都满足条件大于0

});

console.log(res); //true

some(): 某一项返回true,则返回true

eg:var arr=[1,2,3,4,5]

var res = arr.some(function ((ele(元素), index(下标), array(数组))) {

    return ele >4; //只有有一个元素都满足条件大于0 则返回值为true

});

4. reduce()和reduceRight()

    使用指定的函数将数组元素进行组合,生成单个值

    指定函数中第一个参数为 前一个值

    第二个参数为 前一个值

    array.reduce(function (上一个值, 当前元素) {}, 起始值)

    reduce():从数组的第一项开始,逐个遍历到最后一个

    reduceRight() 则从数组的最后一项开始,向前遍历到第一项

eg:var arr = [2, 4, 5, 6];

var res = arr.reduce(function (pre(上一次循环的结果), cur(当前的元素), index(下标)) {

    return cur + pre;

}, 10(传参及从这个只开始));

console.log(res); 

拓展:该数组可以计算所有元素的和

5. Array.toString()

    该方法将其每个元素转化为字符串

    如有必要将调用元素的toString()方法

    并且输出用逗号分隔的字符串列表

    与不使用任何参数调用join()方法返回的字符串是一样的

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,039评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,426评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,417评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,868评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,892评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,692评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,416评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,326评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,782评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,957评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,102评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,790评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,442评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,996评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,113评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,332评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,044评论 2 355

推荐阅读更多精彩内容

  • Javascript有很多数组的方法,有的人有W3C的API,还可以去MDN上去找,但是我觉得API上说的不全,M...
    顽皮的雪狐七七阅读 4,088评论 0 6
  • 简述JavaScript起源起源于美国的Netscape公司,原名为LiveScript,后改为JavaScrip...
    3ab670b99521阅读 3,003评论 0 0
  • 1.用js实现随机选取10~100之间的10个数字,存入一个数组,并排序 //要是获取不重复的,则对随机数...
    persistlu阅读 5,578评论 0 0
  • 数组方法 下面开始介绍数组的方法,数组的方法有数组原型方法,也有从object对象继承来的方法,这里我们只介绍数组...
    祈求者阅读 371评论 0 2
  • 绿色,代表春天的气息,是温暖舒适的四月呀 四月bujo主要用于记录一些打卡事项,如电影,健身,泡脚,面膜等
    翊yijia阅读 680评论 0 2