对象嵌套属性解构
const { info:{ dec} } = { name: '张三', age: 13, info:{dec: '描述1', info: '信息' }}
console.log(dec) // 描述1
语言:JavaScript | 阅读:10次 | 收藏:0次
删除对象的多余属性
const { name, age, ...obj } = { name: '张三', age: 13, dec: '描述1', info: '信息' }
console.log(name)  // 张三
console.log(age)  // 13
console.log(obj)  // {dec: '描述1', info: '信息' }
语言:JavaScript | 阅读:13次 | 收藏:0次
对象的变量属性
const flag = true;
const obj = {
    a: 0,
    [flag ? "c" : "d"]: 2
};
// obj => { a: 0, c: 2 }
语言:JavaScript | 阅读:3次 | 收藏:0次
数组解构
const arr=[1,2]; //后面一定要加分号,因为不加解释器会认为在读数组
[arr[1], arr[0]] = [arr[0], arr[1]]; // [2,1]
语言:JavaScript | 阅读:2次 | 收藏:0次
JavaScript数组转对象
//将数组的值转化为对象的value
const arrName = ['张三', '李四', '王五']
const arrAge=['20','30','40']
const arrDec = ['描述1', '描述2', '描述3']
const obj = arrName.map((item,index)=>{
return { name: item, age: arrAge[index],dec:arrDec[index]}
})

console.log(obj) // [{ name: '张三', age: '20', dec: '描述1' },{ name: '李四', age: '30', dec: '描述2' },{ name: '王五', age: '40', dec: '描述3' }]

语言:JavaScript | 阅读:2次 | 收藏:0次
JavaScript对象转为数组
//将数组的key和value转化成数组

Object.keys({ name: '张三', age: 14 }) //['name','age']
Object.values({ name: '张三', age: 14 }) //['张三',14]
Object.entries({ name: '张三', age: 14 }) //[[name,'张三'],[age,14]]
Object.fromEntries([name, '张三'], [age, 14]) //ES10的api,Chrome不支持 , firebox输出{name:'张三',age:14}
语言:JavaScript | 阅读:3次 | 收藏:0次
版本号排序
//这个函数均兼容整数,非整数,字母;
//字母排序是根据Unicode排序的,所以1.10b在1.10C的后面
//------------------------------------
//假定字符串的每节数都在5位以下
//去除数组空值||空格
if (!Array.prototype.trim) {
  Array.prototype.trim = function () {
    let arr = []; this.forEach(function (e) {
      if (e.match(/\S+/)) arr.push(e);
    })
    return arr;
  }
}

//提取数字部分
function toNum(a) {
  let d = a.toString();
  let c = d.split(/\D/).trim();
  let num_place = ["", "0", "00", "000", "0000"], r = num_place.reverse();
  for (let i = 0; i < c.length; i++) {
    let len = c[i].length;
    c[i] = r[len] + c[i];
  }
  let res = c.join('');
  return res;
}

//提取字符
function toChar(a) {
  let d = a.toString();
  let c = d.split(/\.|\d/).join('');
  return c;
}

function sortVersions(a, b) {

  let _a1 = toNum(a), _b1 = toNum(b);
  if (_a1 !== _b1) return _a1 - _b1;
  else {
    _a2 = toChar(a).charCodeAt(0).toString(16);
    _b2 = toChar(b).charCodeAt(0).toString(16);
    return _a2 - _b2;
  }
}

let arr1 = ["10", "5", "40", "25", "1000", "1"];
let arr2 = ["1.10", "1.5", "1.40", "1.25", "1.1000", "1.1"];
let arr3 = ["1.10c", "1.10b", "1.10C", "1.25", "1.1000", "1.10A"];
console.log(arr1.sort(sortVersions)) //[ '1', '5', '10', '25', '40', '1000' ]
console.log(arr2.sort(sortVersions)) //[ '1.1', '1.5', '1.10', '1.25', '1.40', '1.1000' ]
console.log(arr3.sort(sortVersions)) // [ '1.10A', '1.10C', '1.10b', '1.10c', '1.25', '1.1000' ]
语言:JavaScript | 阅读:2次 | 收藏:0次
版本号排序
//可见sort排序对整数可以,类似版本号这个格式就不适用了,因为sort函数在比较字符串的时候,是比较字符串的Unicode进行排序的。

function sortNumber(a, b) {
    return a - b
}
const b = [1,2,3,7,5,6]
const a = ["1.5", "1.5", "1.40", "1.25", "1.1000", "1.1"];

console.log(a.sort(sortNumber)); // [ 1, 2, 3, 5, 6, 7 ]
console.log(b.sort(sortNumber)); //[ '1.1000', '1.1', '1.25', '1.40','1.5', '1.5' ] 
语言:JavaScript | 阅读:2次 | 收藏:0次
检查数组元素有一项满足(数组元素为对象)
const arr = [{ age: 3 }, { age: 4 }, { age: 5 }]
arr.some(item => { return item.age < 4 }) // true
语言:JavaScript | 阅读:2次 | 收藏:0次
检查数组元素有一项满足(数组元素为基本类型)
[1, 2, 3].some(item => { return item > 2 })
语言:JavaScript | 阅读:3次 | 收藏:0次
检查数组的每一项元素都满足(数组元素为对象)
const arr = [{ age: 3 }, { age: 4 }, { age: 5 }]
arr.every(item => { return item.age > 2 }) // true
语言:JavaScript | 阅读:6次 | 收藏:0次
检查数组的每一项元素都满足(数组元素为基本类型)
[1, 2, 3].every(item => { return item > 2 })
语言:JavaScript | 阅读:7次 | 收藏:0次
数组中是否包含值某个值(数组元素为对象)
const flag = [{age:1},{age:2}].some(v=>JSON.stringify(v)===JSON.stringify({age:2}))
console.log(flag)
语言:JavaScript | 阅读:5次 | 收藏:0次
数组中是否包含值某个值(数组元素为基本类型)
console.log([1, 2, 3].includes(4)) //false
console.log([1, 2, 3].indexOf(4)) //-1 如果存在换回索引
console.log([1, 2, 3].find((item) => item === 3)) //3 如果数组中无值返回undefined
console.log([1, 2, 3].findIndex((item) => item === 3)) //2 如果数组中无值返回-1
语言:JavaScript | 阅读:7次 | 收藏:0次
数组合并(数组元素为基本对象)
const arr4 = [{ age: 1 }].concat([{ age: 2 }])
const arr5 = [...[{ age: 1 }],...[{ age: 2 }]]
console.log(arr4) //[ { age: 1 }, { age: 2 } ]
console.log(arr5) // [ { age: 1 }, { age: 2 } ]
语言:JavaScript | 阅读:6次 | 收藏:0次
数组合并(数组元素为基本类型)
const arr1 =[1, 2, 3, 4].concat([5, 6]) //[1,2,3,4,5,6]
const arr2 =[...[1, 2, 3, 4],...[4, 5]] //[1,2,3,4,5,6]
const arrA = [1, 2], arrB = [3, 4]
const arr3 =Array.prototype.push.apply(arrA, arrB)//arrA值为[1,2,3,4]
语言:JavaScript | 阅读:6次 | 收藏:0次
数组求和(数组元素为基本对象)
const sum = [{age:1},{age:2}].reduce(function (prev, cur) {
  return prev + cur.age;
}, 0) //3
console.log(sum)
语言:JavaScript | 阅读:6次 | 收藏:0次
数组求和(数组元素为基本类型)
[1, 2, 3, 4].reduce(function (prev, cur) {
  return prev + cur;
}, 0) //10 
语言:JavaScript | 阅读:5次 | 收藏:0次
获取数组元素的最大值(数组元素为对象,取数组对象中id的最大值)
const arr = [{ id: 1, name: 'jack' },{ id: 2, name: 'may' },{ id: 3, name: 'shawn' },{ id: 4, name: 'tony' }]
const arr1 = Math.max.apply(Math, arr.map(item => { return item.id }))
const arr2 = arr.sort((a, b) => { return b.id - a.id })[0].id
console.log(arr1) // 4
console.log(arr2) // 4
语言:JavaScript | 阅读:7次 | 收藏:0次
获取数组元素的最大值(数组元素为基本类型,直接比较)
Math.max(...[1, 2, 3, 4]) //4
Math.max.apply(this, [1, 2, 3, 4]) //4
[1, 2, 3, 4].reduce((prev, cur, curIndex, arr) => {
   return Math.max(prev, cur);
}, 0) //4
语言:JavaScript | 阅读:6次 | 收藏:0次
数组排序(数组元素为基本对象)
//sort是浏览器内置方法;
//默认是升序排序,默认返回一个函数,有两个参数:
//(a, b) => a - b 是升序;
//(a, b) => b - a 是降序。

const arr1 = [{ name: "Rom", age: 12 }, { name: "Bob", age: 22 }].sort((a, b) => { return a.age - b.age })//升序
const arr2 = [{ name: "Rom", age: 12 }, { name: "Bob", age: 22 }].sort((a, b) => { return -a.age + b.age })//降序
console.log(arr2) // [{ name: 'Bob', age:22 }, { name: 'Rom', age: 12 }]
console.log(arr1) // [ { name: 'Rom', age: 12 }, { name: 'Bob', age: 22 } ]
语言:JavaScript | 阅读:8次 | 收藏:0次
数组排序(数组元素为基本类型)
//sort是浏览器内置方法;
//默认是升序排序,默认返回一个函数,有两个参数:
//(a, b) => a - b 是升序;
//(a, b) => b - a 是降序。

console.log([1, 2, 3, 4].sort((a, b) => a - b)); // [1, 2,3,4] 升序
console.log([1, 2, 3, 4].sort((a, b) => b - a)); // [4,3,2,1] 降序
语言:JavaScript | 阅读:8次 | 收藏:0次
数组去重(数组元素为对象)
const arr = [{ name: 'name1', id: 1 }, { name: 'name2', id: 2 }, { name: 'name3', id: 3 }, { name: 'name1', id: 1 }, { name: 'name4', id: 4 }, { name: 'name5', id: 5 }];
const obj = [];
const result = arr.reduce(function (prev, cur, index, arr) {
  obj[cur.id] ? '' : obj[cur.id] = true && prev.push(cur);
  return prev;
}, []);
console.log(result) //[{ name: 'name1', id: 1 },{ name: 'name2', id: 2 },{ name: 'name3', id: 3 },{ name: 'name4', id: 4 },{ name: 'name5', id: 5 }]
语言:JavaScript | 阅读:7次 | 收藏:0次
数组去重(数组元素为普通类型)
console.log(Array.from(new Set([1, 2, 3, 3, 4, 4]))) //[1,2,3,4]
console.log([...new Set([1, 2, 3, 3, 4, 4])]) //[1,2,3,4]
语言:JavaScript | 阅读:6次 | 收藏:0次
数组补集(数组元素为对象)
//差集就是数组arr1相对于arr2所没有的集合,补集是两个数组各自没有的集合

let arr1 = [{ name: 'name1', id: 1 }, { name: 'name2', id: 2 }, { name: 'name3', id: 3 }];
let arr2 = [{ name: 'name1', id: 1 }, { name: 'name4', id: 4 }, { name: 'name5', id: 5 }];
let arr3 = arr1.concat(arr2);
let result = arr3.filter(function (v) {
  return arr1.every(n => JSON.stringify(n) !== JSON.stringify(v)) || arr2.every(n => JSON.stringify(n) !== JSON.stringify(v))
})
console.log(result); // [{ name: 'name2', id: 2 },{ name: 'name3', id: 3 },{ name: 'name4', id: 4 },{ name: 'name5', id: 5 }]
语言:JavaScript | 阅读:7次 | 收藏:0次
数组补集(数组元素为普通元素)
const arr1 = [1, 2, 3, 4, 5, 8, 9]
const arr2 = [5, 6, 7, 8, 9];
const difference = Array.from(new Set(arr1.concat(arr2).filter(v => !new Set(arr1).has(v) || !new Set(arr2).has(v)))) 
console.log(difference) //[ 1, 2, 3, 4, 6, 7 ]
语言:JavaScript | 阅读:7次 | 收藏:0次
取数组差集(数组元素为对象)
//数组arr1相对于arr2所没有的

let arr1 = [{ name: 'name1', id: 1 }, { name: 'name2', id: 2 }, { name: 'name3', id: 3 }];
let arr2 = [{ name: 'name1', id: 1 }, { name: 'name4', id: 4 }, { name: 'name5', id: 5 }];
let result = arr1.filter(function (v) {
  return arr2.every(n => JSON.stringify(n) !== JSON.stringify(v))
})
console.log(result); // [ { name: 'name2', id: 2 }, { name: 'name3', id: 3 } ]
语言:JavaScript | 阅读:11次 | 收藏:0次
取数组差集(数组元素为基本类型)
//数组arr1相对于arr2所没有的

const arr1 = [1, 2, 3, 4, 5, 8, 9]
const arr2 = [5, 6, 7, 8, 9];
const diff = arr1.filter(item => !new Set(arr2).has(item))
console.log(diff) //[ 1, 2, 3, 4 ]
语言:JavaScript | 阅读:7次 | 收藏:0次
取2个数组并集(数组元素为对象)
const arr1 = [{ name: 'name1', id: 1 }, { name: 'name2', id: 2 }, { name: 'name3', id: 3 }];
const arr2 = [{ name: 'name1', id: 1 }, { name: 'name4', id: 4 }, { name: 'name5', id: 5 }];
let arr3 = arr1.concat(arr2);
let result = [];
let obj = [];
result = arr3.reduce(function (prev, cur, index, arr) {
  obj[cur.id] ? '' : obj[cur.id] = true && prev.push(cur);
  return prev;
}, []);
console.log(result); //[{ name: 'name1', id: 1 },{ name: 'name2', id: 2 },{ name: 'name3', id: 3 },{ name: 'name4', id: 4 },{ name: 'name5', id: 5 }]
语言:JavaScript | 阅读:6次 | 收藏:0次
取2个数组并集(数组元素为基本类型)
const arr1 = [1, 2, 3, 4, 5, 8, 9]
const arr2 = [5, 6, 7, 8, 9];
const result = arr1.concat(arr2.filter(v => !arr1.includes(v)))
console.log(result) //[1, 2, 3, 4,5, 8, 9]
语言:JavaScript | 阅读:7次 | 收藏:0次
上一页 下一页

最多阅读的代码

 SSH 登录失败:Host key verification failed Shell 程序  |  2467次阅读
 PHP分页显示制作详细讲解 PHP 程序  |  2117次阅读
 将二进制数据转为16进制以便显示 JAVA 程序  |  1791次阅读
 在Zeus Web Server中安装PHP语言支持 PHP 程序  |  1658次阅读
 让你成为最历害的git提交人 Shell 程序  |  1648次阅读
 再谈PHP中单双引号的区别详解 PHP 程序  |  1617次阅读
 Java生成UUID JAVA 程序  |  1600次阅读
 PHP实现简单爬虫的方法 PHP 程序  |  1571次阅读
 获取IMSI JAVA 程序  |  1569次阅读
 php+ajax+json 详解及实例代码 PHP 程序  |  1568次阅读
 Python 2与Python 3版本和编码的对比 Python 程序  |  1559次阅读
 wget使用技巧 Shell 程序  |  1550次阅读
 桌面中心(一)创建数据库 PHP 程序  |  1543次阅读
 PHP设计模式之工厂模式与单例模式 PHP 程序  |  1541次阅读
 php封装的page分页类完整实例 PHP 程序  |  1541次阅读
 php数组合并array_merge()函数使用注意事项 PHP 程序  |  1533次阅读
 Yii2汉字转拼音类的实例代码 PHP 程序  |  1513次阅读
 getAttribute和getAttributeNode JavaScript 程序  |  1507次阅读
 指定应用ID以获取对应的应用名称 JAVA 程序  |  1461次阅读
 python中执行shell的两种方法总结 Python 程序  |  1443次阅读
 使用WAMP搭建PHP本地开发环境 PHP 程序  |  1383次阅读
 redirect_uri参数错误的解决方法(必看) PHP 程序  |  1371次阅读
 thinkPHP5.0框架简单配置作用域的方法 PHP 程序  |  1370次阅读
 获取IMEI JAVA 程序  |  1369次阅读
 php查询及多条件查询 PHP 程序  |  1369次阅读