JS操作/遍历数组和对象(总结)

本文介绍了JavaScript中数组的添加(push,unshift,splice,slice)、删除(pop,shift,splice)以及排序方法。同时讲解了对象的创建(字面量,newObject(),构造函数)和遍历,强调了for...of循环在遍历中的应用。此外,还涉及到了构造函数的实例化过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组

1.添加

arr.push(2,'pink'); //向末尾插入 返回新长度
arr.unshift('red','purple');//向前面插入,返回新长度

arr.splice(开始下标,删除个数,添加的元素)//直接操作原数组,返回被删除的元素,只用于数组
arr.slice(开始下标,结束下标(不包括))//不操作原数组,返回截取的数组,可用于字符串

2.删除

arr.pop(); //删除末尾的,一次只能删一个,不加参数,返回新删除元素的值
arr.shift(); //删除前面的,一次只能删一个,不加参数,返回删除元素的值

arr.splice(开始下标,删除个数,添加的元素)//直接操作原数组,返回被删除的元素,只用于数组
注:splice方法即可以添加也可以删除

3.排序(sort函数)

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]


//对象可以按照某个属性排序
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;
});

4.遍历

尽量用 for of

let arr = [1, 2, 44, 5, 5];
for (const item of arr) {
    console.log(item);
}

对象

  1. 创建对象(3种)

  1. 字面量

var obj={
    name: 'zht',
    age: 18,
    sex: '男',
    sayHi:function(){
        console.log("Hi~");
    }
}

2. new Object()

var obj = new Object();
obj.name='高源';
obj.age=24;
obj.sex='女';
obj.sayHi = function() {
    console.log('Hi~');
}

3. 构造函数创建

一次创建一个对象,多个对象的属性和方法有的是相同的

利用函数,重复这些代码

又因为函数封装的不是普通的代码,所以称为构造函数

构造函数里要使用this关键字

调用构造函数,必须使用new关键字,返回的是一个对象

function Star(name,age) {//首字母大写,不需要return
    this.uname=name;
    this.age=age
    this.sing=function(song){
        console.log(song)
    }
}
//调用
var zht=new Star("高启强",20);
zht.sing('最炫民族风');

用构造函数创建对象的过程叫做实例化

new关键字执行过程

  1. 创建一个新的对象

  1. this会指向这个对象

  1. 执行里面的代码,加属性和方法

  1. 返回这个对象

  1. 使用对象属性的两种方式

  1. 对象名.属性名 obj.name

  1. 对象名['属性名'] obj['name']

obj.name;
obj['name'];
  1. 遍历对象

使用for in

for(k in obj){
    console.(obj[k]);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值