数组的剩余方法

㈠concat( )方法

⑴可以连接两个或多个数组,并将新的数组返回

⑵该方法不会对原数组产生影响

 

⑶示例如下:

 

㈡join()方法

⑴该方法可以将数组转换为一个字符串

⑵该方法不会对原数组产生影响,而是将转换后的字符串作为结果返回

⑶在join()中可以指定一个字符串作为参数,这个字符串将会成为数组中元素的连接符

⑷如果不指定连接符,则默认使用“,”作为连接符

 

⑸示例1:不会对原数组产生影响

 

⑹示例2:将数组转换为字符串

 

⑺示例3:指定一个字符串作为参数

 

㈢reverse()方法

⑴该方法用来反转数组(前边的去后边,后边的去前边)

⑵该方法会直接修改原数组

 

⑶示例:

 

㈣sort( )方法

可以用来对数组中的元素进行排序

也会影响原数组,默认会按照Unicode编码进行排序

 

即使对于纯数字的数组,使用sort()排序时,也会按照Unicode编码来排序

所以对于数字进行排序时,可能会得到错误的结果

 

我们可以自己来指定排序的规则

我们可以在sort()添加一个回调函数,来指定排序规则

   回调函数中需要定义两个形参,

   浏览器将会分别使用数组中的元素作为实参去调用回调函数

   使用哪个元素调用不确定,但是肯定的是在数组中a一定在b前边

浏览器会根据回调函数的返回值来决定元素的顺序

    如果返回一个大于0的值,则元素会交换位置

    如果返回一个小于0的值,则元素位置不变

    如果返回一个0,则认为两个元素相等,也不交换位置

如果需要升序排列,则返回a - b

如果需要降序排列,则返回b - a

示例1:对数组中的元素按照Unicode编码进行排序

 

示例2:纯数字的数组,也会按照按照Unicode编码进行排序

示例3:浏览器会根据回调函数的返回值来决定元素的顺序

示例4:回调函数指定排序规则:升序和降序

示例5:如果需要升序排列,则返回a - b

             如果需要降序排列,则返回b - a

原文地址:https://www.cnblogs.com/shihaiying/p/12098954.html

时间: 2024-10-12 05:38:37

数组的剩余方法的相关文章

数组中的方法 --- 不改变原数组的方法

1.concat()把元素衔接到数组中. concat() 方法用于连接两个或多个数组. 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 2.every() 方法使用指定函数检测数组中的所有元素: 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测. 如果所有元素都满足条件,则返回 true 3.filter()返回满足断言函数的数组元素. 4.forEach()为数组的每一个元素调用指定函数. 5indexOf()在数组中查找指定元素. 

数组的初始化方法

//数组的初始化方法 # include<stdio.h> # include<stdlib.h> int main() { int a[3][4]; int num = 0; //方法一: /* for (int i = 0; i < 3 * 4; i++) { a[i / 4][i % 4] = num; num++; } */ //方法二: /* printf("start...\n"); for (int *p = &a[0][0]; p

给字符数组赋值的方法

main() { char s[30]; strcpy(s, "Good News!"); /*给数组赋字符串*/ . . . } 上面程序在编译时, 遇到char s[30]这条语句时, 编译程序会在内存的某处留 出连续30个字节的区域, 并将第一个字节的地址赋给s.当遇到strcpy( strcpy 为 Turbo C2.0的函数)时, 首先在目标文件的某处建立一个"Good News!/0" 的字符串. 当中/0表示字符串终止, 终止符是编译时自己主动加上的,

iOS中数组遍历的方法及比较

数组遍历是编码中很常见的一种需求,我们来扒一拔iOS里面都有什么样的方法来实现,有什么特点. 因为iOS是兼容C语言的,所以C语言里面的最最常见的for循环遍历是没有问题的. 本文中用的数组是获取的系统的语言数组,大约有30多个数据,虽然还不够模拟大批量的数据,但对于方法的验证是没有问题的了. NSArray *langArray = [[NSUserDefaults standardUserDefaults] arrayForKey:@"AppleLanguages"]; 第一种方法

数组的迭代方法之every,some,filter,map,forEach

//数组的迭代方法 var number = [1, 2, 3, 4, 5, 4, 3, 2, 1]; var everyResult = number.every(function(item, index, array){ return (item > 2); }); console.log(everyResult); var someResult = number.some(function(item, index, array){ return (item > 2); }); conso

js数组去重的方法

1.如果不借助任何方法,初级写法应该是: function unique(arr){ var res=[]; for(var i=0,len=arr.length;i<len;i++){ var obj = arr[i]; for(var j=0,jlen = res.length;j<jlen;j++){ if(res[j]===obj) break; } if(jlen===j)res.push(obj); } return res; } var arr=[1,1,'2','1',3,4]

JavaScript高级程序设计--对象,数组(栈方法,队列方法,重排序方法,迭代方法)

1.使用对象字面量定义对象 var person={}; 使用这种方式创建对象时,实际上不会调用Object构造函数. 开发人员更喜欢对象字面量的语法. 2.有时候需要传递大量可选参数的情形时,一般来讲使用对象字面量来封装多个可选参数. 3.对象属性的点表示法与方括号表示法的区别 (1)功能上:两者没区别 (2)但是方括号的有点是可以通过变量来访问属性 例如: var person={ name:"Nic" } 点表示法:person.name 方括号表示法:var prop=“nam

函数指针与函数指针数组的使用方法

转自:http://blog.csdn.net/feitianxuxue/article/details/7300291 函数指针与函数指针数组的使用方法 函数指针: 函数指针包含函数在内存中的地址.数组名实际上就是数组的第一个元素在内存中的地址,类似地,函数名实际上也是执行这个函数任务的代码在内存中的起始地址. 函数指针可以传递给函数.从函数返回.保存在数组中.赋予另一个函数指针或者调用底层函数. 下面我们用数值算法accumulate讨论下函数指针的用法.accumulate是一种常用的ST

编程题:字符串与字符数组的输入方法。

#include<stdio.h> void main() {char str1[6],str2[10]; int i; for(i=0;i<5;i++) scanf("%c",&str1[i]); str1[5]='\0'; scanf("%s",str2); printf("%s\n%s\n",str1,str2); } 编程题:字符串与字符数组的输入方法.,布布扣,bubuko.com