返回首页
知识点
数组中是否包含某值
var arr_data = [1, 2, 3,4,5,6,7,8,9];
var result= arr_data.indexOf(1); //如果存在返回值的下标,不存在返回-1
var v1 = $.inArray(2, arr_data);//如果存在返回值的下标,不存在返回-1
var newArr= arr_data.filter(item=>item > 4) //这是ES6 如果条件不满足,filter()返回的是一个空数组
处理对象数组
var porducts = [
{name:"cucumber",type:"vegetable"},
{name:"banana",type:"fruit"},
{name:"celery",type:"vegetable"},
{name:"orange",type:"fruit"},
];
// ES6
var filter2 = porducts.filter(function(porduct){//对porducts数组对象过滤如果porduct.type === "fruit"就return出去,再用一个变量接住
return porduct.type === "fruit"
})
知识点
遍历json对象,数组,对象数组
当json为json对象时
var json = { "Type": "Coding", "Height": 100 };
for (var key in json) {
alert(key); //Type, Height
alert(json[key]); //Coding, 100
}
$.each(json, function (key) {
alert(json[key]); //Type, Height
alert(key); //Coding, 100
});
当json为数组时
var json = [ "Type", "Coding", "Height", "100" ];
for (var key in json) {
alert(key); //下标 从0开始
alert(json[key]); //具体值
}
$.each(json, function (key) {
alert(json[key]); //下标 从0开始
alert(key); //具体值
});
当为对象数组时,先拆数组,再处理对象
知识点
数组中的排序方法
定义:arrayObject.sort(sortby) 其中sortby: 可选。规定排序顺序。必须是函数。
返回值:对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
函数接收两个参数,排序方法就是冒泡排序,函数是需要定义一下的否则是按照字符串的ASC码排序的,而不是按照数字大小
e.g function(a,b){return a-b;}
1)当 a - b < 0 时, 则 a 元素排在 b 元素的前面。
2)当 a - b = 0 时, a , b 元素的位置不变。
3)当 a - b > 0 是, 则 b 元素排在 a 元素的前面。
所以return a-b 是升序 return b-a 是降序
高速
处理json传到前台的日期(后台未格式化为字符串)
var str = '/Date(1400046388387)/';
var date = new Date(parseInt(str.replace(/\/Date\((-?\d )\)\//, '$1')));
var d = date.getFullYear()
+"-"+ date.getMonth()//月
+"-"+ date.getDate()//日
+" "+date.getHours() //小时
+":"+date.getMinutes() //分
+":"+date.getSeconds() //秒
知识点
获取iframe中的对象
$("#"+iframeId).get(0).contentWindow.$("#listTable").treegrid("getSelections")
坑
js的relpace函数和C#的replace函数
区别就是高级语言的replace函数是替换所有出现的字符,而js的replace函数只替换首次遇到的字符
e.g 高级语言:String str="abcabc"
str.Replace("a","x") //输出xbcxbc
js: var str='abcabc'
str.replace('a','x') //输出xbcabc
要想替换所有只能用正则表达式 str.replace(/a/g,'x') //输出xbcxbc
知识点
用正则比较字符串 大小写不敏感
var string1 ="aBc";
var val="AbC";
var myReg = new RegExp(val,"i");
var match = string1.match(myReg)
if(match) {
alert('true')
}
输出:true