json对象,,es5新增的数组方法,数组去重,回调函数,字符串

选择排序:

var arr = [5,6,4,7,3,8,9,2,0,1];
	
	var t;
	var k;
	//核心算法
	//外层循环n-1
	for(var i=0; i<arr.length-1; i++){
		k = i;
		//内层循环n-i-1
		for(var j=i+1; j<arr.length; j++){
			if(arr[k]<arr[j]){
				k = j;
			}
		}
		t = arr[i];
		arr[i] = arr[k];
		arr[k] = t;
	}
	
	console.log(arr);

json对象:是一种描述数据结构格式的语法规则,将若干个属性和行为封装成一个整体

定义:由键值对构成

var   stu = {

key:value

key1:value1

}

访问属性:

方法一:

对象名.属性名     console.log(stu.name, stu.age, stu.score);

方法二:

下标法 var str = "score";
    console.log(stu["name"], stu["age"], stu[str]);

添加自定义属性

   stu.hobby = "美女";
    stu["tall"] = "180";
    console.log(stu.hobby, stu["tall"]);

//d.json属性的遍历
    //for...in...遍历下标
    for (var index in stu) {
        //for...in...不能支持点运算符访问属性
        //console.log(stu.index);
        console.log(stu[index]);
    }

indexOf

功能:查找目标元素,
    // 参数:indexOf(目标元素)
    // 返回值:找到返回目标元素的下标,找不到返回-1

var arr = [5,6,4,7,8];
	// console.log(arr.indexOf(14));
//返回值为-1
	
//数组去重
	var arr = [6,6,5,4,2,4,5,3,1,7,8,3];
	var arr1 = [];
	
	for(var i=0; i<arr.length; i++){
		if(arr1.indexOf(arr[i]) == -1){
			arr1.push(arr[i]);
		}
	}
	
	console.log(arr1);

 回调函数:一个函数啊当做另一个函数的参数,被当作参数的函数是回调函数

目的可以将一个函数(功能模块传至另一个函数体内)

function f1(f){//f == f2
		//xxxx
		//xxxx
		//xxxx
		//xxxx
		f();//f2() == f()
		//xxxx
		//xxxx
		//xxxx
	}
	
	var f2 = function(){
		console.log("f2");
	}
	
	f1(f2);

ES5新增的遍历函数

forEach

功能:将数组的所有元素进行遍历,执行某种操作,
   参数:forEach(回调函数)
    回调函数(元素的数值,[元素的下标],[元素所在的数组])
    返回值:无

var arr = [6,5,7,4,8];
	 function fun(x,index,a){
	     console.log(x);
	a[index] += 10;
	}
 arr.forEach(fun);
 console.log(arr);

 map:和forEach几乎一毛一样,但是有返回值,
    功能:将数组的所有元素进行遍历,执行某种操作,
    参数:map(回调函数)
    回调函数(元素的数值,[元素的下标],[元素所在的数组])
    返回值:通过回调函数的return返回值,组成一个新的数组

var arr = [6,5,7,4,8];
	 function fun(x,index,a){
	console.log(x);
	a[index] += 10;
		return a[index];
	}
	var arr1 = arr.map(fun);
 console.log(arr1);

 filter:
    功能:过滤元素,
    参数:filter(回调函数)
    回调函数(元素的数值,[元素的下标],[元素所在的数组])
    返回值:根据回调函数返回的布尔值,创建新的数组,

var arr = [6,5,7,4,8];
	function fun(x){
		if(x%2){
			return true;
		}else{
			return false;
		}
	}
	var arr1 = arr.filter(fun);
	console.log(arr1);

字符串的两种定义方式

1.内置基本类型:var ac=""

2.引用类型:var st =new String("hhhhhh")

asc码值和字符

charAt
    功能:返回索引对应的字符,
    参数:charAt(索引)
    返回值:返回索引对应的字符
    console.log(str.charAt(0));

charCodeAt
     功能:返回索引对应的字符的asc码值,
    参数:charCodeAt(索引)
    返回值:返回索引对应的字符的asc码值,
    console.log(str.charCodeAt(0));

字符串的API

charAt    / /遍历
charCodeAt
  length

fromCharCode

功能:将asc码值转换为字符,
    参数:fromCharCode(asc1,[asc2...]);
    返回值:转换后的字符串,
    说明:通过string调用
    var str = String.fromCharCode(97,98);
     console.log(str);

//indexOf
    //功能:查找子串首次出现的位置
    //参数:indexOf(子串)
    //返回值:找到返回子串的首字母下标,找不到返回-1

//lastIndexOf
	//功能:从末尾查找子串首次出现的位置
	//参数:lastIndexOf(子串)
	//返回值:找到返回子串的首字母下标,找不到返回-1
	// var str = "helloworld";
	// console.log(str.indexOf("o"));
	// console.log(str.lastIndexOf("o"));
// replace
	// 功能:字符串替换,
	// 参数:replace(被替换字符串,替换字符串);
	// 返回值:新字符串
	// var str = "zhurongrui de ge bi shi zhurongrui";
	// str = str.replace("zhurongrui","老王");
	// console.log(str);

 

// slice
	// 功能:字符串截取,
	// 参数:slice(起始位置,结束位置),左闭右开,
	// 返回值:截取的子串
	var str = "helloworld";
	console.log(str.slice(2,5));
	
	//substring:几乎和slice一毛一样
	console.log(str.substring(2,5));

 

//split
	// 功能:字符串分割函数,将分割的字符串转换为数组,
	// 参数:split(分隔符)
	// 返回值:数组,
	
	// var str = "gaoshaoxin凢凢de ge bi zh凢凢u zhe lao凢凢wang";
	// var arr = str.split("凢凢");
	// console.log(arr);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值