数组的循环和迭代

循环
(1) for 循环
for 循环是遍历数组最简单的一种,也是使用频率最高的一种。
普通版 for 循环
var = ["a", "b", "c", "d"];
for ( let = 0; < . ; ++ ) {
console.log( [ ] ); // a b c d
}
优化版 for 循环
var = ["a", "b", "c", "d"];
for ( let = 0, = . ; < ; ++ ) {
console.log( [ ] ); // a b c d
}
(2)for-in 循环
var = ["a", "b", "c", "d"];
for ( let in ) {
console.log( [ ] ); // a b c d
}

(3)for-of 循环
var = ["a", "b", "c", "d"];
for ( let of ) {
console.log( ); // a b c d
}
for-in 是遍历集合对象的键名, for-of 是直接遍历集合对象的键值。
for-of 的遍历方式性能要高于 for-in ,但仍比不不上普通的 for 循环。
for-of 不仅支持数组的遍历,还支持大多数类数组对象。同时也支持 ES6 里新增的 Map 和 Set
对象。

数组迭代
(1)forEach()
var = [10, 11, 12, 13, 14];
arr.forEach(function( , ) {
console.log( ); // 10 11 12 13 14
console.log( ); // 0 1 2 3 4
})
(2)map()

var = [10, 11, 12, 13, 14];
var = .map(function( , ) {
return * 2;
})
console.log( );
(3)filter()
var = [10, 11, 12, 13, 14];
var = .filter(function( , ) {
return % 2 == 0;
})
console.log( );
(4)reduce()
var = [10, 11, 12, 13, 14];
var = .reduce(function( , ) {
return + ;
})
console.log( );
(5)every()
var = [10, 11, 12, 13, 14];
var = .every(function( , ) {
return % 2 == 0;
})
console.log( );
(6)some()
var = [10, 11, 12, 13, 14];
var = .some(function( , ) {
return % 2 == 0;
})
console.log( );

时间: 2024-08-27 00:21:38

数组的循环和迭代的相关文章

数组的循环与迭代......字符串

数组的循环与迭代 1.循环 for循环 for in循环 for of循环 2.数组迭代 forEach()----遍历数组 map()----遍历并操作数组元素,返回新数 组. filter()----遍历并筛选数组元素,返回新数 组. reduce()----遍历并计算数组元素,累计返回最 终值. every()----遍历并检测数组元素,有一项不满 足,返回 false. some()----遍历并检测数组元素,有一项满 足,返回 true. 字符串 常用属性 字符串的长度---字符串和数

JavaScript数组的循环和迭代

JavaScript数组的循环和迭代 循环 for循环 普通版for循环 var arr = ["a","b","c","d"]; for (let i = 0; i < arr.length; i++){ console.log(arr[i]); .//a b c d } 优化版for循环 var arr = ["a","b","c","d"

将数组元素循环右移k个位置(Java实现)

用四种方法实现了将数组元素循环右移k个位置,相关的解释作为注释放在代码里面了. package movearrayelement; import java.util.BitSet; public class MoveArrayElement { /** * 每次把数组中所有元素移动一个位置,移动k轮 * @param array * @param k */ public static void moveArrayElement(int[] array, int k) { int length =

程序算法艺术与实践:递归策略之递归,循环与迭代

众所周知,递归的实现是通过调用函数本身,函数调用的时候,每次调用时要做地址保存,参数传递等,这是通过一个递归工作栈实现的,同时影响效率的.递归是利用系统的堆栈保存函数当中的局部变量来解决问题的,而递归就是在栈处理栈上一堆的指针指向内存中的对象,这些对象一直不被释放,直到递归执行到最后一次后,才释放空间. 循环效率与递归效率 递归与循环是两种不同的解决问题的典型思路.当然也并不是说循环效率就一定比递归高,递归和循环是两码事,递归带有栈操作,循环则不一定,两个概念不是一个层次,不同场景做不同的尝试.

1008. 数组元素循环右移问题 (20)

1008. 数组元素循环右移问题 (20) 一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0 A1--AN-1)变换为(AN-M -- AN-1 A0 A1--AN-M-1)(最后M个数循环移至最前面的M个位置).如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法? 输入格式:每个输入包含一个测试用例,第1行输入N ( 1<=N<=100).M(M>=0):第2行输入N个整数,之间用空格

数组元素循环右移及静态链表

1. 静态链表 https://github.com/BodhiXing/Data_Structure/tree/master/StaticListDemo 2. 数组元素循环右移 https://pta.patest.cn/pta/test/17/exam/4/question/262 思路:不做循环,只是换方式打印输出. 1 #include <stdio.h> 2 #include <math.h> 3 4 5 int main() { 6 int n,m,i; 7 scan

*1008. 数组元素循环右移问题

1 /* 2 * Main.c 3 * 1008. 数组元素循环右移问题 Ver.2 4 * Created on: 2014年8月29日 5 * Author: Boomkeeper 6 ********测试通过******* 7 */ 8 #include <stdio.h> 9 10 int main(void) { 11 12 int array[101]; 13 int n, m; //题目中的N.M 14 int i,j; 15 16 scanf("%i %i"

数组元素循环右移

/*1008. 数组元素循环右移问题 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0 A1--AN-1)变换为(AN-M -- AN-1 A0 A1--AN-M-1)(最后M个数循环移至最前面的M个位置).如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?   输入格式:每个输入包含一

C语言实现使用动态数组实现循环队列

我在上一篇博客<C语言实现使用静态数组实现循环队列>中实现了使用静态数组来模拟队列的操作.由于数组的大小已经被指定,无法动态的扩展.所以在这篇博客中,我换成动态数组来实现.动态数组可以不断开辟内存空间,只是会在数组的初始化时有所不同,其他对数组的操作都是一样的.代码上传至 https://github.com/chenyufeng1991/Queue_DynamicArray . (1)声明变量 static int *queue;//声明数组 static int maxSize;//数组大