数组有关的API函数功能表

//栈

push()

可接受任意类型的参数,将他们逐个添加到数组的末尾,并返回数组的长度

pop()

从数组的末尾删除最后一项,减少数组的length值,返回移除的项

//队列

unshift()

在数组的前面增加任意个项,并返回新数组的长度

shift()

删除数组的第一个项并返回该项,同时将数组的长度减1

//判断是否是数组

Array.isArray()

结果为true,判断数组是否是array类型

//排序

sort()

(1)直接修改原数组;

(2)默认按照数组元素第一位的ASCII码值从小到大排列

默认排序:该方法会调用每个数组的toString()方法,然后按照字符序列排序(ASCII),参数,不传参

自定义排序:该方法可以接收一个比较函数作为参数,比较函数有两个参数

第一个参数位于第二个参数之前,返回负数

第一个参数位于第一个参数之后,返回正数

默认排序:

var arr1=[3,4,2,6,1];

var result=arr1.sort();

console.log(result);//1,2,3,4,5,6

console.log(arr1);//1,2,3,4,5,6

var arr2=[10,1,23,2];

//console.log(arr2.sort());

arr2.sort();

console.log(arr2);//1,10,2,23

console.log(arr1.reverse());

console.log(arr2.reverse());

//自定义排序  过程--函数作为参数

例子:

var arr = [11,5,23,7,4,1,9,1];

console.log(arr.sort(compare));

//该比较函数适合于大多数数据类型

function compare(v1,v2){

if(v1>v2){return -1;} //升序

else if( v1<v2){return 1;} //降序

else{return 0;}

}

arr.reverse()

反转数组项的顺序,直接修改原数组

//数组序列化

arr.join()

使用指定的字符(连接符)来分隔数组字符串

使用Array.prototype中的  实例方法join()

//应用场景:纯净的数据环境 指定连接符

var str1=arr.join();//,

var str2=arr.join('@');//@

var str3=arr.join('java script');

console.log(str1,str2,str3);

arr.join(“”)能无缝连接

toString()

在默认情况下都会以逗号分隔字符串的形式返回数组项

//数组检测

var arr();

typeOf();   //结果为object

arr instanceof Array     //结果为true,在同一个全局作用域下可以这么判断

Array isArray(arr);   //结果为true,判断arr是否是数组类型

//截取方法

concat()

通过合并连接数组来创建一个新数组,该方法不会更改现有数组,而是返回一个新数组,concat()可以使用任意数量的数组参数

slice()

数组的切割,在数组的某一片段切割,产生新的数组,原数组不会发生任何改变,slice(index_start,index_end);index_end 可写可不写,比如slice(2,4)右边是开区间,不会被截取,左边是闭的,(start,end],如果end被省略,则会切出数组后面的剩余部分.

举例:

var r4=arr2;//简单的地址值的复制,浅拷贝,指向的是同一片内存空间

var r1= arr2.slice(0);//arr2堆中的数据-->r1堆中  深拷贝 指向的不是同一片内存空间

splice()

用于数组删除,插入,替换

原数组会受到影响,返回值就是删除掉的数据项,

splice(index_start,count,新增的内容(可省略))    count表示从索引值开始删除几个内容,如果索引值为负值,就是去倒序查找

//索引方法

通过数据项的值去查找在数据中的索引位置

indexof()

从数组开头向后查找,使用全等操作符,找不到该元素返回-1。第一个参数为要查找的项,第二个参数(可选)为索引开始位置

lastIndexOf()

从数组末尾向前查找,使用全等操作符,找不到该元素返回-1。第一个参数为要查找的 项,第二个参数(可选)为索引开始位置

//迭代方法

every()

给数组中的每一项运行给定的函数,都满足要求就返回true,不满足就返回false

var arr = [11,5,23,7,4,1,9,1];

var result = arr.every(function(item,index,arr){

return item >2;

});

console.log(result); //false

some()

给数组中的每一项运行给定的函数,有一个满足要求的就返回true

var arr = [11,5,23,7,4,1,9,1];

var result = arr.every(function(item,index,arr){

return item >2;

});

console.log(result); //true

filter()

过滤,给数组中的每一项运行给定的函数,满足要求的保存起来,不满足的不要,返回的是满足要求的数据项组成的数组.

var arr = [11,5,23,7,4,1,9,1];

var result = arr.filter(function(item,index,arr){

return item >2;

});

console.log(result); // [11, 5, 23, 7, 4, 9]

map()

一一映射,对数组中的每一项运行给定的函数,返回每次函数调用的结果形成的数组

var arr = [11,5,23,7,4,1,9,1];

var result = arr.map(function(item,index,arr){

return item * 2;

});

console.log(result); // [22, 10, 46, 14, 8, 2, 18, 2]

forEach()

迭代循环:对数组中的每一项运行给定的函数,没有返回值,常用来遍历元素

var result = arr.forEach(function(item,index,arr){

console.log(item);

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
请使用Windows中的“画图”工具,手写数字0-9,对图像进行适当的裁剪和处理后,保存为MNIST数据集的格式,具体步骤与要求如下: 步骤: (1)使用Windows中的“画图”工具,手写数字0-9,并裁剪为适当尺寸的单个数字后,保存为图像文件,如图2所示; (2)对裁剪过的图像进行反色、二值化处理,使图像呈现为黑底白字,如图3、4所示; (3)对图像进行缩放,变换为2828像素的二值图像,如图5所示; (4)将处理好的图像保存为与MNIST数据集相同的多维数组形式。 拓展要求: 在白纸上用黑色的笔写数字,拍照后,转换为MNIST数据集的格式。 提示: (1)可以使用“全能扫描王”等工具优化所拍的图像,如图6所示; (2)尝试用笔尖不同粗细的黑色笔写数字,看看什么情况下效果最好; (3)在二值化之前先用高斯函数处理图像,看看效果有什么不同。 (高斯函数1所示。) 1 高斯函数 序号 函数 函数功能 函数相关库 (1) Image(类名).fromarray(obj) 将对象obj从Numpy数组格式转化为Image格式 PIL库Image类 (2) 对象名.filter(ImageFilter.GaussianBlur()) 调用高斯函数 PIL库ImageFillter类 图2 图像裁剪 图3 反色处理 图4 图像二值化 图5 28×28像素图像 手写原图像 工具优化后的图像 图6 手写原图与工具优化后图像的对比图 ① 主要函数及参数说明 ② 代码 ③ 实验结果 ④ 实验小结
05-05

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值