基础 js数组 (八)
ES6 数组some()和every()的使用及说明_javascript技巧_脚本之家 (jb51.net)
var array = [1, 3, 4, 6, 88];
// 在forEach 里面 return 不会终止迭代
array.forEach(function (val, index, array) {
// console.log(val); //数组的值
// console.log(index); //索引
// console.log(array); //数组本身
// if (val == 3) {
// console.log(val)
// return true;
// }
});
//过滤 返回数组 filter 里面 return 不会终止迭代
// var result = array.filter(function (val, index) {
// return val == 3;
// });
// console.log(result)
//some 返回的是布尔值 在some 里面 遇到 return true 就是终止遍历 迭代效率更高
// var result = array.some(function (val, index, array) {
// console.log(val);
// console.log(index);
// console.log(array);
// return val == 3;
// });
// console.log(result);
var testTrim = " 133 ";
console.log(testTrim.trim());
var user = { name: "ppp", age: 12, email: "qq@qq.com" };
console.log(user["name"]);
console.log(user["age"]);
//使用 Object.keys 循环对象属性
// var userArray = Object.keys(user);
// userArray.forEach(function (val, index, array) {
// console.log('属性名称:'+val+','+'属性值'+user[val])
// // console.log(val);
// });
var Phone = { name: "小米手机", price: 1999, address: "北京" };
// Object.defineProperty(Phone,'price', {value:2999,});
Object.defineProperty(Phone, "address", {
value: "天津",
// 如果只为false 不允许修改这个属性值 默认值也是false
writable: false,
// enumerable 如果值为false 则不允许遍历, 默认的值是 false
enumerable: false,
// configurable 如果为false 则不允许删除这个属性 不允许在修改第三个参数里面的特性 默认为false
configurable: false,
});
Phone.address='上海'
console.log(Phone);
var ary = Array.from(arrayLike, item => item * 2)
console.log(ary)
var pp=[{name:'yy'},{name:'yx'}]
var p1 = pp.find(item=>item.name=='yy')
console.log('p1结果',p1)
var array6 =[33,455,676,44]
var arry4= array6.findIndex(item=>item==455)
console.log(arry4)
var arry7 = [33,44]
var reuslt5= arry7.includes(33)
console.log(reuslt5)
let str ='你好a'
let reusltstr= str.startsWith('你')
let restulendstr= str.endsWith('a')
console.log(reusltstr)
console.log(restulendstr)
let a = 'y'.repeat(2)
console.log(a)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> </head> <body> <script> let array = ["bj", "sh", "cc", "jn"]; let index = array.findIndex((item) => item == "bj"); console.log("index", index); //返回布尔值 let result = array.some(function (val, index, array) { return val == "jn"; }); console.log(result); //返回数组 let result1 = array.filter(function (val, index, array) { return val == "jn"; }); console.log(result1); let result2 = array.find((item) => item == "jn"); console.log("result2", result2); let result4 = array.map(function (val, index, array) { if (val == "bj") return val; }); console.log("result4", result4); //每一个是否大于1 let array1 = [12, 3, 4]; let result3 = array1.every((item) => { return item > 1; }); console.log("result3", result3); //pre 上一个值 cur 当前值 currentIndex 当前索引 array 数组 let result0 = array1.reduce(function (pre, cur, currentIndex, array) { console.log("pre", pre); console.log("cur", cur); return pre + cur; }, 0); console.log("result0", result0); //6 即(0+1+2+3) //循环 array.forEach((item) => { console.log("foreach", item); }); //去重 let array3 = array1.reduce(function (pre, cur, currentIndex, array) { //pre 当前是空数组 console.log("pre",pre) console.log("cur",cur) pre.indexOf(cur) != -1 ? pre : pre.push(cur); return pre; }, []); console.log("array3", array3); </script> </body> </html>
let arry = [33, 55, 66, 88, 99,99,88]; // 遇到 true 返回结束循环 let result = arry.some((val, index, arry) => { if (val == 55) { console.log(arry); return true; } }); console.log(result); // 返回数组 let reuslt1 = arry.filter((val, index, array) => { if (val == 33) { return val; } }); console.log(reuslt1); //返回值 没有返回 undefined let result2 = arry.find((val) => val == 33); console.log("result2", result2); //查找索引 let result3 = arry.findIndex((val) => val == 33); console.log(result3); //是否存在 let result4 = arry.includes(33); console.log(result4); //添加末尾 arry.push(9); console.log(arry); //添加在头 arry.unshift(1); console.log(arry); //删除头一个元素 arry.shift(); console.log(arry); //删除一个 arry.splice(0, 1); console.log(arry); //添加一个 arry.splice(0, 0, 1111); console.log(arry); //删除末尾一个元素 返回删除的元素 let result8 = arry.pop(); console.log("result8", result8); console.log("result8", arry); //有返回 索引 let result6 = arry.indexOf(55); console.log(result6); //没有返 -1 let result7 = arry.indexOf(555); console.log(result7); //排序 let newArray = arry.sort((a, b) => { return a - b; }); console.log(newArray); //数组去重 let newArray1 = arry.reduce((pre, current, currentIndex) => { //pre 当前数组 //current 要去重复的数组 值 pre.indexOf(current) == -1 ? pre.push(current) : pre; return pre; }, []); console.log("去重复数组",newArray1);
浙公网安备 33010602011771号