<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
</body>
<script type="text/javascript">
/* Math 对象------------------ */
//console.log(Math.floor(3.34)); //3
//console.log(Math.round(3.444));//3
//console.log(Math.ceil(3.44));//4
/* array 对象 ------------------*/
//console.log(['1',2].concat(['2']));//[1,2,'2']
let arr=[1,3,'3']
let arr1=[{name:'张三',age:1},{name:'lisa',age:11}]
// console.log(arr.fill('3')); // ["3", "3"]
let filter=arr1.filter((item,index)=>{
//返回符合传入测试(函数)条件的数组元素
return item.age>1
})
// console.log('filter',filter);
let find=arr1.find(item=>{
//返回符合传入测试(函数)条件的数组元素。
return item.age>1
})
// console.log(find);
let findindex=arr1.findIndex(item=>{
//返回符合传入测试(函数)条件的数组元素索引。
return item.age>1
})
// console.log(findindex);
let map=arr1.map(item=>{
//通过指定函数处理数组的每个元素,并返回处理后的数组。
item.age*=2
return item
})
// console.log(map,arr1);
let some=arr1.some(item=>{
//检测数组元素中是否有元素符合指定条件。
return item.age>1
})
console.log(some);
//排序
function sortf(arr,key,order){
//对数组的元素进行排序。
arr.sort(function(value1,value2){
return order*(value1[key]-value2[key])
})
return arr
}
console.log('sort',sortf(arr1,'age',-1));
/* 没用返回值 */
let foreach=arr1.forEach(item=>{
item.age+=2
//没有返回值,本质上等同于 for 循环,数组每个元素都执行一次回调函数。
// console.log(item);
})
// console.log(foreach);//undefined
let includes=arr.includes('3')
// console.log(includes);
let indexof=arr.indexOf(3)
// console.log(indexof); //1
let lastindexof=arr.lastIndexOf('3')
// console.log(lastindexof); //2
let from=Array.from(arr,x=>x+'---')
// console.log(from);
let isArray=Array.isArray(arr1)
// console.log(isArray);
let join=arr.join('--') //数组转字符串
// console.log(join);
let tostring=arr.toString() //把数组转换为字符串,并返回结果。
//console.log(tostring);
let keys=arr.keys()
// console.log(keys);
// console.log(arr.shift());//删除并返回数组的第一个元素。
// console.log(arr.pop()); //删除数组的最后一个元素并返回删除的元素。
//console.log('unshift',arr.unshift(1));//向数组的开头添加一个或更多元素,并返回新的长度。
// console.log(arr.push(1,3)); //向数组的末尾添加一个或更多元素,并返回新的长度。
let valueOf=arr.valueOf()
//console.log('valueOf',valueOf);
function getSum(total, num,index,arr) {
console.log(total,num,arr);
return total + num;
}
// console.log(arr.reduce(getSum)); 将数组元素计算为一个值(从左到右)
//console.log(arr.reduceRight(getSum));//将数组元素计算为一个值(从右到左)。
// console.log(arr.reverse());//反转数组的元素顺序。
// console.log(arr.slice(1,3));//选取数组的一部分,并返回一个新数组。
//从数组中添加或删除元素。 有删除就返回删除的元素,改变原数组
//console.log(arr.splice(1,0,222),arr);//参数2==0,为删除0个 此效果为添加
//console.log(arr.splice(1,2,2,3),arr);//删除下标1及之后两个元素 插入 2,3
// console.log(arr.splice(2,3),arr);//删除
// console.log(arr.splice(0),arr);//从下标0开始删除
/* Boolean ------------------*/
let bool=new Boolean(1)
// console.log(bool.toString());
/* date------------------ */
//console.log(new Date());
let date=new Date()
//console.log(date.setMonth(1),date.getMonth());
//console.log(Date.parse(date));
/* Number-----------------------*/
let num = new Number(3)
//把数字转换为字符串,结果的小数点后有指定位数的数字。
// console.log(num.toFixed(2));
//number.toString(radix) radix规定表示数字的基数,2 - 数字以二进制值显示
//console.log(num.toString(2));
//console.log(Number.isInteger(num));//用来判断给定的参数是否为整数。ES 6
/*String----------------------- */
let str=new String('李四:张三,你好吖!张三:me too!')
//console.log(str.charAt(1)); //返回在指定位置(下标)的字符。
//console.log(str.search('四'));//查找与正则表达式相匹配的值。
//console.log(str.indexOf('三'));//返回某个指定的字符串值在字符串中首次出现的位置。
//lastIndexOf() 从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。
//console.log(str.match(/三/g));//查找找到一个或多个正则表达式的匹配。
//console.log(str.slice(0,4));//提取字符串的片断,并在新的字符串中返回被提取的部分
//console.log(str.substr(0,4));//从起始索引号提取字符串中指定数目的字符。
// console.log(str.substring(0,4));//substring() 提取字符串中两个指定的索引号之间的字符。
//console.log(str.concat('今天'));//连接两个或更多字符串,并返回新的字符串。
//console.log(str.split('!'));//把字符串分割为字符串数组。
//console.log(str.trim()); //trim() 去除字符串两边的空白。
//console.log(str.startsWith('张三'));//查看字符串是否以指定的子字符串开头。
//endsWith() 判断当前字符串是否是以指定的子字符串结尾的(区分大小写)。
//console.log(('NI').repeat(2));//repeat(num) num 次数 复制字符串指定次数,并将它们连接在一起返回。
//console.log(str.replace('张三','莉丝'));//replace() 在字符串中查找匹配的子串,并替换与正则表达式匹配的子串。
//console.log(str.replaceAll('张三','莉丝')); //PC 上 IE 浏览器不支持该函数。 替换所有匹配
//console.log(str.toUpperCase());
//toLowerCase() 把字符串转换为小写。
//toUpperCase() 把字符串转换为大写
/* String HTML 包装方法---------- */
let txt = "Hello World!";
/* document.write("<p>字体变大: " + txt.big() + "</p>");
document.write("<p>字体缩小: " + txt.small() + "</p>");
document.write("<p>字体加粗: " + txt.bold() + "</p>");
document.write("<p>斜体: " + txt.italics() + "</p>");
document.write("<p>固定定位: " + txt.fixed() + "</p>");
document.write("<p>加删除线: " + txt.strike() + "</p>");
document.write("<p>字体颜色: " + txt.fontcolor("green") + "</p>");
document.write("<p>字体大小: " + txt.fontsize(6) + "</p>");
document.write("<p>下标: " + txt.sub() + "</p>");
document.write("<p>上标: " + txt.sup() + "</p>");
document.write("<p>链接: " + txt.link("http://www.w3cschool.cc") + "</p>");
document.write("<p>闪动文本: " + txt.blink()) */
/* RegExp 对象 正则表达式是描述字符模式的对象----------*/
//console.log(str.match(/[张三]/g));
/* JavaScript 全局属性------------- */
/* Infinity 代表正的无穷大的数值。
NaN 指示某个值是不是数字值。
undefined 指示未定义的值。 */
/* JavaScript 全局函数------------ */
//let encodeuri=encodeURI(str) //对字符串进行编码。
//console.log(encodeuri);
//let decodeuri=decodeURI(encodeuri) //解码某个编码的 URI。
//console.log(decodeuri);
//let unescapes=unescape(encodeuri) //对由 escape() 编码的字符串进行解码。
//console.log(unescapes);
//console.log(Number('1222'));
//eval( "console.log(1+2)")//计算 JavaScript 字符串,并把它作为脚本代码来执行。
//console.log(parseFloat('2.334')); //解析一个字符串并返回一个浮点数。
//console.log(parseInt('2.334'));//解析一个字符串并返回一个整数。
//console.log(String(Math.random(2)));//把对象的值转换为字符串。
/* JavaScript 算术arithmetic运算符 --------- */
let arithmetic=['+','-','*','/','%','++','--']
/* JavaScript 赋值运算符 */
let assignment=['=','+=','-=','*=','/=','%=']
/* 比较运算符------------- */
let compare=['==','===','!=','!==','>','<','>=','<=']
/* JavaScript 字符串运算符 -------*/
let string=['+=','+']
let te='这里是'
//console.log(te+='丽丽');
//console.log(operation(arithmetic,10,2));
// console.log(operation(assignment,'x',3))
function operation(arr,k,y){
let amp= [...arr].map(item=>{
let item1=''
if(item=='++'||item=='--'){
console.log(k +item);
item1= k +item.slice(0,1) +1
}else{
item1=k + item +y
console.log(item1);
}
eval(`item=${item1}`)
console.log(item);
return item
})
return amp
}
/* es6 ------------- */
//console.log(Object.is(1,1)); //两个目标对象的相等比较
let [name,id,...data]=['张三','1','23','湖南']
console.log(name,id,data);
//解构赋值(
let {name:n,id:i,...data1}={name:'张三',id:'1',age:'23', adress:'湖南'}
console.log(n,i,data1);
/* Object----------- */
console.log(Object.create({a:1}));
let data3=Object.assign(data,data1); //,用于对象新增属性或者多个对象合并。
//console.log(data3);
console.log(Object.keys(data3));//获取对象的所有键
console.log(Object.values(data3));//获取对象的所有值
console.log(Object.entries(data3));//获取对象的所有键值对数组。
</script>
</html>
math ES6 object array对象
最新推荐文章于 2024-09-11 15:33:18 发布