4、【JS对象】2_JS数组

数组 是一种特殊的变量,它能够一次存放一个以上的值。类似项目清单。

定义数组

//方法1
var myCars=new Array(); 
myCars[0]="Saab";       
myCars[1]="Volvo";
myCars[2]="BMW";

//方法2
var myCars=new Array("Saab","Volvo","BMW");

//方法3
var myCars=["Saab","Volvo","BMW"];

数组方法

/*增加数据
push() 在结尾处向数组添加一个新的元素,返回新数组的长度
unshift() 在开头向数组添加新元素,返回新数组的长度
splice() 用于向数组添加新项,返回一个包含已删除项的数组
concat() 合并(连接)现有数组来创建一个新数组,返回新数组,而不会改变原来的数组
*/

var myCars=["Saab","Volvo","BMW"];
myCars.splice(0,1,"d","l")
// ['Saab']0: "Saab"length: 1[[Prototype]]: Array(0)
myCars
// ['d', 'l', 'Volvo', 'BMW']


/*删除数据
pop() 从数组中删除最后一个元素,返回被删除的值
shift() 删除首个数组元素,返回被删除的值
splice()同样可以用来删除数据,返回被删除的值的数组
*/

数组排序

/*
reverse() 反转数组中的元素,返回反转之后的数组
sort() 以字母顺序对数组进行排序,返回排序之后的数组
比值函数 function(a, b){return a - b}
*/

var arr = [1,20,3,45,2]
arr.sort()
// 输出[1, 2, 20, 3, 45],并非根据数值的大小排序
arr.sort(function(a, b){return a - b}) // [1, 2, 3, 20, 45]

数组迭代

//forEach 定义:对每个数组元素调用一次函数(回调函数)


var txt = "";
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
console.log(txt);

function myFunction(value, index, array) {
  txt = txt + value + "<br>"; 
}

//  map() 定义:对每个数组元素执行函数来创建新数组,不会对没有值的元素执行函数,不会更改原始数组。

var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
console.log(numbers2);

function myFunction(value, index, array) {
  return value * 2;
}


// filter() 定义:创建一个包含符合规则的数组元素的新数组

var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
console.log(over18);

function myFunction(value, index, array) {
  return value > 18;


// find() 定义:返回通过测试函数的第一个数组元素的值。

var numbers = [4, 9, 16, 25, 29];
var first = numbers.find(myFunction);
console.log(first);

function myFunction(value, index, array) {
  return value > 18;
}

// findIndex() 定义:返回通过测试函数的第一个数组元素的索引。

var numbers = [4, 9, 16, 25, 29];
var first = numbers.findIndex(myFunction);
console.log(first);

function myFunction(value, index, array) {
  return value > 18;
}



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值