Array类型是ECMAScript中最常用的引用类型。ECMAScript中的数据与其它大多数语言中的数组有着相当大的区别。虽然ECMAScript中的数据与其它语言中的数组一样都是数据的有序列表,但不同的是,ECMAScript数组中的每一项可以保存任何类型的数据,无论是数值、字符串或者是对象。同时,ECMAScript中的数组大小是可以动态调整的,即可以根据数据的添加自动增长以容纳新增的数据。下面总结一下JavaScript中数组常用的操作函数及用法。
"htmlcode">
对于构造函数,我们可以传递一个数值创建包含给定项数的数组,如下: 也可以直接传递存放于数组中的值,如下: 不论哪种方式,推荐使用数组字面量的形式来创建数组。 "htmlcode">
但如果网页中包含多个框架,也就包含多个全局执行环境,ES5新增了Array.isArray()方法来确定某个值是否为数组,而不管它是在哪个全局执行环境中被创建的,如下: "htmlcode">
而调用数组的toLocaleString()方法,与toString()不同的是它会调用数组每一项的toLocaleString()方法,将每一项toLocaleString()方法的返回值以逗号分隔拼接成一个字符串。而使用join()方法,可以使用不同的分隔符来构建这个字符串,如下: "htmlcode">
与push()相对的是pop()方法,它从数组末尾移除最后一项,并返回移除的项,例如: 另外两个使用的方法是shift()和unshift(),它们与pop()和push()类似,shift()方法用于从数组的起始位置移除项并返回移除项,例如: unshift()方法与shift()用途相反,它能够在数组前端添加任意个项并返回新数组的长度,例如: "htmlcode">
sort()也可以对数组进行排序,不过它的默认排序方式并不是大小,而是根据对应字符串逐个编码排序的。sort()方法可以接收一个比较函数,进行自定义排序,例如: "htmlcode">
"htmlcode">
注意,slice()方法不会影响原来的数组。 "htmlcode">
"htmlcode">
"htmlcode">
filter()方法根据给定的函数确定是否在返回的数组中包含某一项,例如: map()方法对于数组中的每一项都会运行给定的函数,然后将每一项函数运行结果组成的数组返回,例如: 最后一个方法是forEach(),它只对数组中的每一项运行给定函数,没有返回值,例如: "htmlcode">
第一次执行回调函数,pre是1,cur是2。第二次,pre是3(1+2),cur是3。这个过程会把数组的每一项都访问一遍,最后返回结果。reduceRight()方法与reduce()类似,只不过方向相反而已。 这篇笔记主要是根据JavaScript高级程序设计和网上资源总结出来的,如果有不完善的地方还请指出。 以上这篇基于JavaScript Array数组方法(新手必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
var arr = new Array();
var arr = [];
var arr = new Array(3); //数组长度为3
var arr = new Array("red","green","blue");
var arr = [1,2,3];
console.log(arr instanceof Array); //true
if(Array.isArray(arr)){
//执行某些操作
}
var arr = ["red","green","blue"];
console.log(arr.toString()); //red,green,blue
console.log(arr.valueof()); //red,green,blue
console.log(arr); //red,green,blue
var arr = ["red","green","blue"];
console.log(arr.join(",")); //red,green,blue
console.log(arr.join("||")); //red||green||blue
var arr = [1,2,3];
arr.push(4,5);
console.log(arr); //[1,2,3,4,5]
var arr = [1,2,3];
arr.pop(); //3
arr.pop(); //2
console.log(arr); //[1]
var arr = [1,2,3];
arr.shift(); //1
arr.shift(); //2
console.log(arr); //[3]
var arr = [1,2,3];
arr.unshift(4); //返回长度4
arr.unshift(5); //返回长度5
console.log(arr); //[1,2,3,4,5]
var arr = [1,2,3];
arr.reverse();
console.log(arr); //[3,2,1]
function compare(value1,value2){
return value1-value2;
}
var arr = [1,3,2,5,4];
arr.sort(compare);
console.log(arr); //[1,2,3,4,5]
var arr = [1,2,3];
var arr2 = arr.concat(4,[5,6]);
console.log(arr); //[1,2,3]
console.log(arr2); //[1,2,3,4,5,6]
var arr = [1,2,3,4,5];
var arr2 = arr.slice(1); //[2,3,4,5]
var arr3 = arr.slice(1,3); //[2,3]
var arr = [1,2,3,4,5];
arr.splice(2,0,11,22); //从位置2插入两项,没有删除
console.log(arr); //[1,2,11,22,3,4,5]
arr.splice(2,2,33,44); //从位置2开始删除两项,插入两项,返回被删除的项
console.log(arr); //[1,2,33,44,4,5]
arr.splice(1,1); //从位置1开始删除1项,返回被删除的项
console.log(arr); //[1,33,44,4,5]
var arr = [1,2,3,4,5,4,3,2,1];
console.log(arr.indexOf(4)); //3
console.log(arr.lastIndexOf(4)); //5
console.log(arr.indexOf(4,4)); //5
console.log(arr.lastIndexOf(4,4)); //3
var arr = [1,2,3,4,5,4,3,2,1];
var everyResult = arr.every(function(item,index,array){
return (item>2);
});
console.log(everyResult); //false,并不是全部大于2
var someResult= arr.some(function(item,index,array){
return (item>2);
});
console.log(someResult); //true,某一项大于2即可
var arr = [1,2,3,4,5,4,3,2,1];
var filterResult = arr.filter(function(item,index,array){
return (item>2);
});
console.log(filterResult); //[3,4,5,4,3],返回所有数值都大于2的一个数组
var arr = [1,2,3,4,5,4,3,2,1];
var mapResult = arr.map(function(item,index,array){
return item*2;
});
console.log(mapResult); //[2,4,6,8,10,8,6,4,2],原先数组每一项乘以2后返回
var arr = [1,2,3,4,5,4,3,2,1];
arr.forEach(function(item,index,array){
//执行某些操作
});
var arr = [1,2,3,4,5];
var sum = arr.reduce(function(pre,cur,index,array){
return pre+cur;
});
console.log(sum); //15
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 古典吉他《鲁特琴-BachInspirations巴赫灵感》ThibautGarcia[24Bit/96kHz]
- 刘纬武《睡眠音乐家 缓解疼痛 赫兹白噪音》[320K/MP3][217.2MB]
- 刘纬武《睡眠音乐家 缓解疼痛 赫兹白噪音》[FLAC/分轨][870.69MB]
- 群星1998 《宝丽金最佳电视主题曲》香港首版[WAV+CUE][1.2G]
- 群星1990《群星会·金曲重现》新加坡版[WAV+CUE][1.1G]
- 张惠妹2003《勇敢》[WAV+CUE][1.1G]
- 群星1995《摇滚中国乐势力》首版引进版[WAV+CUE][983M]
- 陈思安《32首酒廊情调》2CD新雅(国际)影碟[WAV+CUE]
- 齐豫潘越云《回声》K2HD[正版原抓WAV+CUE]
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]