循环数组方法

伪数组

伪数组:没有数组的方法,用数字做属性

arguments 是伪数组

arguments{
‘0‘:11,
‘1‘:22
}
arguments[0]; //访问属性0的值

或:
let stu=function(){
    console.log(arguments);
}
stu(11,22,33); // {‘0‘:11,‘1‘:22,‘2‘:33}

循环数组的方法

for

let ary=[100,200,300,400,500,600];
for(let i=0,i<ary.length,i++){
    console.log();
}

forEach

ary.forEach(function(ele,i){
    console.log(ele,i);         // 100 0
                                   200 1
});                                300 2
                                   ..600 5

for-of

for(let value of ary){
    console.log(value);      // 100
                                200
}                               ..600

es5:

map

  • 结果与原数组个数一样
  • return 后返回值个数一样,没有具体指返回undefined
ary.map(function(ele){
    console.log(ele);         // 100
    return;                          200
});                              .. 600 

或:
let=ary.map(function(ele){
    console.log(ele);
    return (ele);       //  newAry[100,200,300,400,500,600]
});
console.log(‘newAry‘,newAry);
return ele*10;   // newAry[1000,2000,3000,4000,5000,6000]   

filter

可过滤原数组

let=ary.filter(function(ele){
    console.log(ele);
    if(ele>=300){
        return ele;
    }

});
console.log(‘newAry‘,newAry);        

reduce

每一次循环的return作为第一个参数;每一次的参数是前一次的结果

let newAry=ary.reduce(function(ele,ele1){   console.log(ele,ele1); // 100,200
  // return ele;   return 1;       // 1 300                 1 400 });               1 500 return ele,ele1;        1 600
console.log(‘newAry‘,newAry); // 2100
  • 伪数组没有数组的属性、方法,需转换为真数组;伪数组以数字作属性
  • 循环数组的方法:需注意每一种方法返回的结果不同,具体值的差异和返回值与原数组个数的差异;es5 中循环的方法
时间: 2024-08-03 13:23:44

循环数组方法的相关文章

react的循环数组方法的使用

react循环数组有2种方法 法一:直接在所需的地方循环(推荐) <ul> {this.state.list2.map(function(value,key){ return(<li key={key}>{value}</li>) })} </ul> 法二: import React from 'react'; class News extends React.Component{ constructor(props){ super(props) this.

循环加法及数组方法

1,从1到100的和值计算. for循环<script type="text/javascript">    var sum=0;    for (var i= 0;i<=100;i++){        sum+=i;    }    console.log(sum);</script> while循环    var x=1;    var sum=0;    while (x<=100){        sum+=x;        x++;  

二维循环数组

一.题目与要求 题目.返回一个二维整数数组中最大子数组的和 要求.1.输入一个二维整形数组,数组里有正数也有负数. 2.二维数组首尾相接,象个一条首尾相接带子一样. 3.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和 二.设计思路 在上一次的以为循环数组的基础上,和二维数组求最大子数组相结合,将功能合并,完成题目要求. 第一步.将每一行的数组作为循环数组求最大子数组 第二步.通过枚举的方式,将每一种情况的和存入到新建二维数组中 第三部.通过逐列计算最大子数组的方法求所有子矩阵的最

基于循环数组的无锁队列

在之前的两篇博客(线程安全的无锁RingBuffer的实现,多个写线程一个读线程的无锁队列实现)中,分别写了在只有一个读线程.一个写线程的情况下,以及只有一个写线程.两个读线程的情况下,不采用加锁技术,甚至原子运算的循环队列的实现.但是,在其他的情况下,我们也需要尽可能高效的线程安全的队列的实现.本文实现了一种基于循环数组和原子运算的无锁队列.采用原子运算(compare and swap)而不是加锁同步,可以很大的提高运行效率.之所以用循环数组,是因为这样在使用过程中不需要反复开辟内存空间,可

Smarty教程1.引擎定义2.主要优点3.简明教程4.使用判断5.循环数组6.常见问题8.解释程序

Smarty是一个php模板引擎.更准确的说,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法.可以描述为应用程序员和美工扮演了不同的角色,因为在大多数情况下 ,他们不可能是同一个人.例如,你正在创建一个用于浏览新闻的网页,新闻标题,标签栏,作者和内容等都是内容要素,他们并不包含应该怎样去呈现.在Smarty的程序里,这些被忽略了.模板设计者们编辑模板,组合使用html标签和模板标签去格式化这些要素的输出(html表格,背景色,字体大小,样式表,等等).有一天程序员想要改变文章检索的方式(

js 数组方法总结

Array数组: length属性 可通过array.length增加或者减少数组的长度,如;array.length=4(数组长3,第四位为undefined),也可单纯获得长度.array[array.length]=''赋值. 检测数组 检测是否数组ES3  instanceof array  ES5新增的Array.isArray(),支持的IE9+,Opera 10.5+,Chrome,Safari5+. 一:原数组不变  [,start],表示0或1个参数 concat() 无参,返

冒泡排序(数组方法和指针方法)

数组方法: #include<stdio.h> #include<stdlib.h> void bubble_sort(int arr[], int sz ) { int i = 0; int j = 0; for (j = 0; j < sz - 1; j++)    //决定最终排序出来需要冒多少次 { for (i = 0; i < sz - 1 - j; i++)    //决定一次冒泡需要比较多少次 { if (arr [i] < arr[i + 1])

常用数组方法

js与jquery常用数组方法总结 昨天被问数组方法的时候,问到sort()方法是否会改变原来的数组.本来我猜是不会,也是这么说,马上我又觉得,知识这种东西,不确定的时候直接说不确定或不知道就好,只是凭借着不确定的猜测或者是记忆,害人害己,于是我又回答不知道.结果果然...我记错了0.0 还是自己总结测试一下比较靠谱,印象也比较深刻.欢迎大家提出相关意见或建议,提前谢谢哈~ 一.原生js方法 1.遍历数组 in(同时也是对象遍历属性的方法) var a = [1, 2, 3]; for (x i

循环数组求最大子数组

一.题目要求 题目:返回一个整数数组中最大子数组的和. 要求: 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 如果数组A[0]……A[j-1]首尾相邻,允许A[i-1], …… A[n-1], A[0]……A[j-1]之和最大. 同时返回最大子数组的位置. 求所有子数组的和的最大值.要求时间复杂度为O(n). 二.设计思想 把数组每一位向后移动一位,最后一位放在第一位.循环多次,每次求其最大子数组,存放到新数组内,比较新数组中最大数,