一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第18天,点击查看活动详情。
一。for in 对象和数组进行循环
练习一。
一个按钮 点击 弹出prompt 猜猜保时捷的颜色 用户输入之后 给obj添加属性color 值就是用户输入的颜色 开始循环对象,如果color的值是红色,则alert('恭喜你猜对了') 否则就提示 alert('你猜错请刷新页面继续猜')
<button onclick="fn()">猜猜保时捷颜色吧</button>
<script>
let obj = {
name: '张三',
age: 30,
car: "保时捷"
};
let flag = false;
function fn() {
let str = prompt('猜猜保时捷颜色')
// 给对象添加新的属性color和值 str
obj.color = str;
for (var key in obj) {
if (obj[key] == '红色') {
/* 使用开关 如果答对了则改变flag */
/* 目的让打错的时候只弹出一次 */
flag = true;
}
}
// 根据flag的true或者false 显示对应的提示且只提示一次
if (flag) {
alert('恭喜你猜对了')
} else {
alert('你猜错了,请刷新页面继续')
}
}
</script>
二。concat
concat合并两个数组并生成一个新数组
<script>
let a=[1,2,3]
let b=[4,5,6]
let all=a.concat(b)
console.log('原数组a为:'+a)
console.log('原数组b为:'+b)
console.log('合并后数组为:'+all)
</script>
练习二。
原来有个数组 let arr = ['奥迪','宝马','奔驰'],还有个空数组 let arr2 = []。
页面上有个按钮叫添加 点一下 弹出一个prompt 你输入一辆汽车的品牌 添加到arr2。
当中 还有个按钮叫合并 可以把arr 和 arr2 合并成一个新数组 并且循环整个新数组 把新数组的每一个值都打印在页面上
<button onclick="fn()">添加</button>
<button onclick="fa()">合并</button>
<script>
let arr = ['宝马', '奥迪', '奔驰'];
let arr2 = [];
function fn() {
let a = prompt('输入汽车品牌')
// 在arr2里添加输入的汽车品牌
arr2.push(a)
}
function fa() {
// 创建新的数组合并arr和arr2
let all = arr.concat(arr2);
for (var i in all) {
} document.write(all)
}
</script>
1.unshift在数组最前面添加内容
2.shift在数组最前面删除内容
3.push在数组最后添加内容
4.pop在数组最后删除内容
三。indexOF
indexOf 返回字符 在数组中的索引
★ 如果字符不存在数组中,会返回-1
<script>
let arr = ['宝马', '奥迪', '奔驰'];
let a= arr.indexOf('奔驰')
console.log('奔驰在arr中的索引为:'+a)
</script>
练习。
<script>
var arr=[5,4,26,9,4,8,5,14];
var arr2=[]
for(var i in arr){
// arr2用indexOf来循环判断arr中的每一项 是否存在于arr2
// 如果不存在就push进去
if(arr2.indexOf(arr[i])==-1){
arr2.push(arr[i])
}
}document.write(arr2)
</script>
四,splice
splice 指定位置添加 指定位置删除
splice 三个参数 :
①。第一个参数表示 所在数组的位置
②。 第二个参数表示 删除几个
③。第三个参数表示 添加的内容
<script>
let arr = ['宝马', '奥迪', '奔驰'];
// 从奥迪开始删除一个
arr.splice(1,1)
document.write(arr)
</script>
<script>
let arr = ['宝马', '奥迪', '奔驰'];
// 从奥迪开始删除0个
arr.splice(1,0)
document.write(arr)
</script>
<script>
let arr = ['宝马', '奥迪', '奔驰'];
// 从奥迪开始删除0个,并添加大众
arr.splice(1,0,'大众')
document.write(arr)
</script>
练习。 点击删除按钮 弹出prompt弹框,输入汽车品牌, 如果存在于arr 就把他删掉 ,不存在 就把他添加到 数组的第二个位置
<button onclick="fn()">点我试试</button>
<script>
let arr = ['奥迪', '宝马', '奔驰'];
function fn() {
let a = prompt('输入汽车品牌')
// 如果输入的品牌不存在arr中,把他添加在数组第二的位置
if (arr.indexOf(a) == -1) {
arr.splice(1, 0, a)
document.write(arr)
} else {
// 如果输入的值在arr中,就删除它
arr.splice(arr.indexOf(a), 1)
document.write(arr)
}
}
</script>