前言
哈喽同学们大家好! 本节我们学习js基础-----数组操作
思维导图
数组操作 增删改查
var arr = ["李白","杜甫", "李子", "李猫","杜牧","李商隐"];
arr.push("白居易");
arr.pop();
arr.unshift("李思萌");
arr.shift();
console.log(arr);
// 删除指定位置, 还可以添加新的元素
arr.splice(2, 2, "岑参", "王维");
console.log(arr);
删除指定位置, 还可以添加新的元素
arr.splice(2, 2, "岑参", "王维");
console.log(arr);
数组拼接 a.concat(b) 将b拼接到a
var a = [1];
var b = [2];
var c = [3];
// console.log(a.concat(b, c))
console.log(a.concat(b).concat(c))
反转数组
console.log(arr.reverse())
指定规则 返回字符串 join()
var arr2 = [1,2,3,4,5];
console.log(arr2.join("-*-"));
sort() 排序
var ns = [1,25,78,4];
// console.log(ns.sort())
// 正确打开方式
ns.sort(function(a, b) {
// a b数组中相邻的两个值
// 如果 返回值 大于0 则交换a和b的值
// 如果 返回值 小于等于0 则不交换
return a-b;
})
console.log(ns)
案例
实现城市遍历
代码如下:
<script src="cities.js"></script>
<script>
// 准备好容器
var myCity = {};
// 遍历所有的城市
for (var i=0; i<cities.length; i++) {
// 当前城市
var city = cities[i];
// {id, nm, py}
// 获取拼音的首字母 charAt(0)
var key = city.py.charAt(0)
// 转大写 toUpperCase()
key = key.toUpperCase();
// key = "B"
// 如果key值第一次出现,需要进行数组初始化处理
// 如果key值不是第一次出现,直接push
if (myCity[key]) {
// 判断对应的key值是否存在
// 存在
myCity[key].push(city);
} else {
// 不存在
myCity[key] = [city];
}
}
console.log(myCity)
</script>
补充:
给object添加任意属性
1.
obj.abc = 1 ===> {abc: 1}
2.
var ok = “aaa”;
obj[ok] = 1 =====> {aaa: 1}