js数组
2021-07-24 本文已影响0人
hszz
empty
表示空位, 它不是一种数据类型,
undefined
是一种数据类型, 在数组中表示这个位置的值未定义,
使用forEach()
方法遍历时会自动忽略空位, 而使用for
循环则会将empty
转换为undefined
并遍历.
js数组删除
delete arr[i]
被删除的元素变为undefined,数组长度不变,索引不变
var arr = ['a','b','c']
delete arr[1]
console.log(arr)
arr[1]
// 输出结果是
// (3) ["a", empty, "c"]
// undefined
arr.splice(start,delete_length)
删除的元素键值,数组长度变化,索引变化
var arr = ['a','b','c']
arr.splice(1,1)
console.log(arr)
arr[1]
// 输出结果是
// (2) ["a", "c"]
// "c"
数组遍历
const todos = [
{
id: 1,
text: 'take out trash',
isCompleete: false,
},
{
id: 2,
text: 'dinner with wife',
isCompleete: false,
},
{
id: 3,
text: 'Meeting with boss',
isCompleete: true,
},
]
// 数组遍历
// for
for (let i = 0; i < todos.length; i++) {
console.log(`todo ${i + 1}: ${todos[i].text}`)
}
// forEach遍历数组 迭代器
todos.forEach(function (todo, i, AllTodos) {
console.log(`${i + 1}:${todo.text}`)
console.log(AllTodos)
})
// map()遍历数组,可以返回新数组 迭代器
const todoTextArray = todos.map(function (todo) {
console.log(todo.text)
return todo.text
})
console.log(todoTextArray) // 返回有todo.text组成的新数组
// filter()遍历数组,可以根据条件返回数组, 选择器
const todo1 = todos.filter(function (todo) {
return todo.id === 1;
})
console.log(todo1)
// 累加器
// old: 上一次调用回调返回的值,或者是初始值(如例子中的{})
let todosC = todos.reduce(( old, nowItem, index, arr) => {
return old + nowItem
}, {})
js遍历map
for(var key in jsonData)
console.log("属性:" + key + ",值:"+ jsonData[key]);
}
[旺柴]
WechatIMG61.jpeg