JavaScript根据对象某个属性排序(promise 案例)

    1.这是第一种解决思路

    1. var arr=[
    2. {name:'阿凯',money:10},
    3. {name:'阿包',money:15},
    4. {name:'阿毅',money:13},
    5. ];
    6. function arrSortByObjectAttr(arr,key){
    7. let result=arr.sort((a,b)=>{
    8. return a[key]-b[key];
    9. });
    10. return result;
    11. };
    12. console.log(arrSortByObjectAttr(arr,'money'));

    2.这是第二种解决思路

    1. var newArr=[
    2. {name:'阿凯',money:10},
    3. {name:'阿包',money:15},
    4. {name:'阿毅',money:13},
    5. ];
    6. function sortBy(attr, isReverse = false) {
    7. isReverse = isReverse ? 1 : -1
    8. return function (a, b) {
    9. a = a[attr];
    10. b = b[attr];
    11. if (a > b) {
    12. return isReverse * 1
    13. } else if (a < b) {
    14. return isReverse * -1
    15. }
    16. return 0
    17. }
    18. };
    19. newArr.sort(sortBy('money',true))

    3.以下提供一个promise案例

    1. <script>
    2. function getNum(){
    3. return new Promise(function(resolve,reject){
    4. setTimeout(() => {
    5. resolve();
    6. console.log('哈哈');
    7. }, 3000);
    8. })
    9. };
    10. async function test(){
    11. const res=await getNum();
    12. };
    13. test()
    14. // var res=new Promise(function(resolve,reject){
    15. // console.log('A');
    16. // resolve();
    17. // }).then(()=>{
    18. // console.log('B');
    19. // return new Promise(function(resolve,reject){
    20. // console.log('C');
    21. // resolve();
    22. // }).then(()=>{
    23. // console.log('F');
    24. // return new Promise(function(resolve,reject){
    25. // console.log('I');
    26. // resolve();
    27. // }).then(()=>{
    28. // console.log('G')
    29. // }).then(()=>{
    30. // console.log('H')
    31. // })
    32. // }).then(()=>{
    33. // console.log('E')
    34. // })
    35. // }).then(()=>{
    36. // console.log('D')
    37. // });
    38. // console.log(res)
    39. </script>

    4.ES6对象解构案例

    1. <script>
    2. // const xts={
    3. // name:'小天使',
    4. // pailiang:'2.0T',
    5. // qudong:'前驱'
    6. // };
    7. const res={
    8. arr:[1,3,4,6,7,5],
    9. time:'234244',
    10. age:244,
    11. ats:{
    12. name:'ats',
    13. pailiang:'2.0T',
    14. qudong:'前驱'
    15. }
    16. }
    17. const [...newArr]=res.arr;
    18. const {ats}=res;
    19. console.log(newArr,'解构');
    20. console.log(ats,'解构');
    21. function operationObject(obj){
    22. return Object.keys(obj)
    23. };
    24. // console.log(operationObject(xts));
    25. </script>
    26. <script>
    27. const ct={
    28. ats:{
    29. name:'hh',
    30. age:30,
    31. p:'fs'
    32. },
    33. data:{
    34. code:00,
    35. sta:1,
    36. xts:{
    37. name:'hhhhh',
    38. age:2322,
    39. r:09
    40. }
    41. }
    42. };
    43. const {xts}=ct.data;
    44. console.log(xts,'解构');
    45. </script>

    5.查看对象是否有空属性+如果将对象属性组合起开(em:’小邱是个大帅比’)

    1. <script>
    2. let obj={
    3. desc:'',
    4. name:'小邱',
    5. age:18,
    6. bbq:[
    7. {desc:'帅',age:18},
    8. {desc:'帅气',age:19},
    9. {desc:'帅气逼人',age:20},
    10. ]
    11. };
    12. obj.desc = obj.bbq.map(item => item.desc).join(',')
    13. console.log(obj.desc);
    14. obj.desc=obj.bbq.map(item=>{
    15. item.desc=obj.name+'超级'+item.desc.join(',')
    16. })
    17. // // 怎么让obj.desc="帅,帅气,帅气逼人"
    18. //------------------------------------------------------------------------------------------
    19. // 查看对象是否有空属性
    20. let obj1={
    21. name:'43',
    22. age:12,
    23. bh:'',
    24. hb:null,
    25. oo:undefined,
    26. pp:'',
    27. lp:'324'
    28. };
    29. function fn(oldData){
    30. Object.keys(oldData).sort().forEach(function(key) {
    31. // console.log(key,'键');
    32. // console.log(oldData[key],'值');
    33. if(oldData[key]){
    34. console.log(oldData[key]);
    35. }else{
    36. }
    37. });
    38. };
    39. console.log(fn(obj1));
    40. // Object.keys(obj1).forEach(key=>{
    41. // console.log(key,'键');
    42. // console.log(obj1[key],'zhi');
    43. // })
    44. </script>

    6.JS判断两个数组是否完全相等

    1. <script>
    2. let arr1=[1,3,5,7,9];
    3. let arr2=[2,3,5,7,9];
    4. function testIsSameArr(arr,newArr){
    5. if(arr.length!=newArr.length){
    6. return false
    7. }
    8. if(arr!==newArr){
    9. return false;
    10. }
    11. arr.forEach(item,index => {
    12. if(arr[index]!==newArr[index]){
    13. return false;
    14. }
    15. });
    16. };
    17. console.log(testIsSameArr(arr1,arr2));
    18. console.log(JSON.stringify(arr1)===JSON.stringify(arr2));
    19. </script>