前端——js数组和对象
一、数组
1.创建数组
创建空数组
let arr=[];
通过数组方法创建数组
let arr = Array('美女', 520);
console.log(arr);
数组可以存储多种数据,每个数据之间用逗号隔开
let arr1 = [1, '你好', '帅哥'];
console.log(arr1);
获取数组长度 通过数组名.length,且可动态修改
let num = [1, 2, 3, 4, 5, 6, 7, 8];
//现在这个数组长度为 8 可以动态修改
console.log(num.length);//8
num.length = 5; //获取这个数组长度 并且给这个长度赋值为5
console.log(num);//array(5)
2.获取数组
根据索引获取想要的数据
// 获取当前数组的红色 并且打印出来
let arr2 = ['红色', '绿色', '蓝色'];
// 获取数组项 数组名[下标序号]
console.log(arr2[0]);// 红色
// 取数据 序号是从0开始的
// 当前这个数组最大的下标为2 取4的下标
console.log(arr2[4]);// 返回一个 undefined
3.数组的修改
let Arr = ['我', '想和', '你', '一起看电影'];
// 把 你 修改为 小可爱
//console.log( Arr[2]);
Arr[2] = '小可爱';
console.log(Arr);
4.数组的增加
在原来的数组里面 添加一个新的数组项
1.直接添加
let Arr = ['我', '想和', '你', '一起看电影'];
//给下标为4的数组项 去赋值 如果该数组项不存在 那就新增
Arr[4] = '然后在一起吃个烧烤';
console.log(Arr);
2.push()——以在原数组的后面添加新的数组项
let array=[1,2,33,44,55];
array.push('明天就星期六','马上就放假');
console.log(array);
3.unshift()——在数组前面添加
let zoo=['大象','老虎','狮子'];
// console.log(zoo);
zoo.unshift('猴子','熊猫','长颈鹿');
console.log(zoo);
5.数组的删除
1.pop()——删除数组最后一个数组项的值,返回你当前需要删除
let phone=['华为','小米','vivo','oppo','苹果'];
console.log(phone.pop());// 返回 数组里面最后一个值 苹果
console.log(phone);// 没有苹果项的新数组
2.shift()——删除最前面的数组项
let phone=['华为','小米','vivo','oppo','苹果'];
console.log(phone.shift());
console.log(phone);
6.万能方法 增删改——splice
let newArr=[1,2,3,45,6];
newArr.splice(1,3,'帅哥');
/*
第一个值: 从数组第几项开始删除
第二个值: 裁剪 数组个数
第三个值: 添加进去新数组项
*/
console.log(newArr);// [1, '帅哥', 6]
7.slice()——裁剪数组
let num=['西瓜','香蕉','苹果','芒果'];
// console.log(num);
// console.log(num.slice(2));
// 从下标为2 开始裁剪
// 返回数组下标从0 开始到下标为3的数组项 (不包含3的下标)
console.log(num.slice(0,3));
8.将数组转为字符串类型
>返回字符串结果
1.toString()
let num1=[1,2,3];
// console.log(typeof num1);
let str=num1.toString();
console.log(typeof str);
2.join()
let arr=[11,22,33,44,55];
// console.log(arr.join());//返回的是字符串 11,22,33,44,55
// 给括号里面写个单引号 那就连成一句话 相当于把逗号去掉了
console.log(arr.join(''));
// 中间写什么符号那就用什么隔开
console.log(arr.join('-'));
9.数组排序
1.reverse()
let num2=[1,2,3,4,5,6,7,8,9];
// console.log(num2);
// reverse 将数组的位置进行颠倒 会改变原数组
num2.reverse();
console.log(num2);
2.sort()
let arr1=[3,2,5,6,7,8,1,55,33];
// 放入函数 从小到大 升序
// arr1.sort(function(a,b){
// return a-b;
// })
// console.log(arr1);
// 降序 从大到小
arr1.sort(function(a,b){
return b - a;
})
console.log(arr1);
二、对象
什么是对象?
任何具体的事物都可以看成对象 有自己特征和行为
1.定义对象
>obj 来接收对象 例子: let 变量名={};
let obj = {
//属性:属性值
name: '落落',
// 数据和数据之间要用逗号隔开
breed: '银渐层',
age: '1岁',
like: ['猫条', '小鱼仔', '鸡胸肉']
}
console.log(obj, typeof obj);
2.属性值操作
1.获取对象中的属性值
//1. .属性操作
console.log(obj.name);
// 2.使用大括号 方法取值 []
// console.log(obj[age]);
// 注意使用括号取值 属性名不加引号 会优先识别为变量 如果当前对象没有这个变量 那就会报错
console.log(obj['age']);
2.增加属性值
// 新增爱好 hobby
girlfriend.hobby='打游戏,旅行';
console.log(girlfriend);
3.修改属性值
// 修改 当前name的值 通过等号赋值修改
girlfriend.name='宝贝';
console.log(girlfriend);
4.删除对象属性
// 使用 delete语句 删除对象中属性
delete girlfriend.phone;
console.log(girlfriend);
三、运算符+循环判断
1.赋值运算符
let b = 'a';
// += -= *= /= %=
// 在编程语言中 都是一样的
let a = 0;
console.log(a += 1);
console.log(a = a + 1);
2.逻辑运算
逻辑运算:
a.&& || !
b.and or not
console.log(true && false); // false
console.log(true || false); // true
console.log(!true || false); // false
3.逗号运算
// let a = 10, b = 20, c = 30;
let a, b, c;
// 句子中 ,
4.基础运算
1.自增和自减
let i = 0;
let j = 0;
i++; // +1
j--; // -1
console.log(++i, j);
console.log(i, j);
2.比较运算符
// == ===
console.log(1 == '1'); // true
console.log(1 === '1'); // false
5.if判断
1.if
if(true) {
// code
console.log('狗哥,今天王寡妇出门了。');
}
2.if---else
if(true) {
// code1
} else {
// code2
}
3.if--else if---else
let a = 100;
// 多种情况
if (false) {
// code1
} else if (a >= 100) {
// code2
} else if (a <= 100) {
// code3
} else {
// code4
}
4.三目运算
let x = true ? 'code1 true' : 'code2 flase'
let x = true ?
'code1 true'
:
false ? 'code2 flase' : 'code3 flase';
5.switch
a = "风屿"
switch (a) {
case "阿飞":
//code1
break;
case "风屿":
//code2
break;
case "夏栀":
//code3
break;
default:
//code4
break;
}
6.循环
1.for循环
for (let index = 0; index < array.length; index++) {
const element = array[index];
}
2.迭代数组
let a = [1,2,3,4,5]
let i = 0;
for (const iterator of a) {
// 每一项
console.log(iterator);
i++;
}
3.迭代对象
let b = { key: "value", name: '闪电奥恩斯奥特曼', age: 1 }
for (const key in b) {
const value = b[key];
console.log(key);
console.log(value);
}