JS实现数组排序:升序和降序,给对象添加一个新属性

升序排序
var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
  return a - b;
});
console.log(numbers);

也可以写成:
var numbers = [4, 2, 5, 1, 3]; 
numbers.sort((a, b) => a - b); 
console.log(numbers);

// [1, 2, 3, 4, 5]

降序排序 (将参数a,b调换位置即可)
numbers.sort(function(a, b) {
  return b - a;
});
  • 对象可以按照某个属性排序:

var items = [
  { name: 'Edward', value: 21 },
  { name: 'Sharpe', value: 37 },
  { name: 'And', value: 45 },
  { name: 'The', value: -12 },
  { name: 'Magnetic' },
  { name: 'Zeros', value: 37 }
];

// sort by value
items.sort(function (a, b) {
  return (a.value - b.value)
});

// sort by name
items.sort(function(a, b) {
  var nameA = a.name.toUpperCase(); // ignore upper and lowercase
  var nameB = b.name.toUpperCase(); // ignore upper and lowercase
  if (nameA < nameB) {
    return -1;
  }
  if (nameA > nameB) {
    return 1;
  }

  
// names must be equal

  return 0;
});
  • JavaScript中对象数组,如何给对象添加一个新属性

    var a =[{name: 'Tom', age: 20},{name: 'Tom2', age: 22}]
    
    现在给a数组中的第一个对象添加性别属性
    a[0]['gender']='women'
    a[0]['address']="China"
    a[1].province="Jiangsu"
    
    console.log(a);
    
    //var a =[{name: 'Tom',age: 20, gender: 'women', address: "China"},
              {name: 'Tom2', age: 22, province: "Jiangsu"}]
    没有指定是数组中的第几个对象,直接对a数组符合,会如何?
    a.haha=123    
    console.log(a);
    
    此时数组长度还是2,内容变成
    // var a =[{name: 'Tom',age: 20, gender: 'women', address: "China"},
              {name: 'Tom2', age: 22, province: "Jiangsu"},
              haha: 123]   
         
    而是用了一个push关键字呢,如下图,数组长度变成了3  
    a.push({name:'Jack'})
    
    // var a =[{name: 'Tom',age: 20, gender: 'women', address: "China"},
              {name: 'Tom2', age: 22, province: "Jiangsu"},
              {name: Jack},
              haha: 123]   
              
    如果希望删除Jack这个对象呢?
    delete a[2]          
    

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值