关键词搜索

源码搜索 ×
×

javascript数组的排序及查找

发布2022-08-15浏览759次

详情内容

基本上这两个操作都要写函数作为参数传进去。
假设有数组

var arrg = [
{date:1472601600000,name:'监测4'}
{date:1374105600000,name:'监测1'}
{date:1464912000000,name:'监测3'}
{date:1487289600000,name:'监测6'}
{date:1492473600000,name:'监测7'}
{date:1384819200000,name:'监测2'}
{date:1479772800000,name:'监测5'}
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

1、排序

arrg.sort(function(a,b) {//a,b应该分别是前后两个元素
	return a.date - b.date;
});//无须返回值,直接将arrg排好序
  • 1
  • 2
  • 3

参考文章
JavaScript sort() 方法

2、查找

返回元素

_timeSliders = [{id:'a'},{id:'b'}];
var obj = _timeSliders.find((t) => t.id == 'b');
alert(typeof obj != 'undefined');
  • 1
  • 2
  • 3

返回下标

var i = arrg.findIndex(function (g, index, arr) {
	return g.date == 1464912000000;
});//返回date == 1464912000000 在数组中的下标。如果无匹配,则返回-1
  • 1
  • 2
  • 3

参考文章:
JavaScript 数组中查找符合条件的值

相关文章:
javascript 数组与json的混合怪物


我靠,IE不支持这两个方法,真无语。所以要检测下

if(array.find){
	//用find
} else {
	//自己再想办法
}
  • 1
  • 2
  • 3
  • 4
  • 5

IE里面,数组查找可以用indexOf方法,像查找字符串一样:

var list = ["bar", "baz", "foo", "qux"];
alert(list.indexOf('foo'));/https://files.jxasp.com/image/2
alert(list.indexOf('FOO'));//-1
  • 1
  • 2
  • 3

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载