yaninabu/Vue

foreach map filter for in for of

imaegoo opened this issue · 1 comments

一、根据代码,写出运行结果

var a = [1,2,3]
for (let i in a) {
  console.log(i)
}
var a = [1,2,3]
for (let i of a) {
  console.log(i)
}
var a = [1,2,3];
a.forEach((i) => {
  console.log(i)
})
var a = [
  { firstName: 'Jimmy', lastName: 'Ma', sex: 0 },
  { firstName: 'Yanina', lastName: 'Bu', sex: 1 }
]
console.log(a.filter((i) => i.sex)[0].firstName)
var a = [
  { firstName: 'Jimmy', lastName: 'Ma', sex: 0 },
  { firstName: 'Yanina', lastName: 'Bu', sex: 1 }
]
console.log(a.map((i) => i.firstName)[1])

二、写出符合需求的代码

  1. 取出 a 中 sex 为 1 的对象数组
var a = [
  { firstName: 'Jimmy', lastName: 'Ma', sex: 0 },
  { firstName: 'Yanina', lastName: 'Bu', sex: 1 }
]
// 你的答案
// 期望结果: result = [
//   { firstName: 'Yanina', lastName: 'Bu', sex: 1 }
// ]
  1. 将 a 中所有对象的 firstName 后面加上 Augmentum
var a = [
  { firstName: 'Jimmy', lastName: 'Ma', sex: 0 },
  { firstName: 'Yanina', lastName: 'Bu', sex: 1 }
]
// 你的答案
// 期望结果: result = [
//  { firstName: 'JimmyAugmentum', lastName: 'Ma', sex: 0 },
//  { firstName: 'YaninaAugmentum', lastName: 'Bu', sex: 1 }
// ]
  1. 把 a 转换成想要的格式(注:请尝试用多种方式转换
var a = {
  jimmy: 'male',
  yanina: 'female'
}
// 你的答案
// 期望结果:result = [
//   { name: 'jimmy', sex: 'male' },
//   { name: 'yanina', sex: 'female' }
// ]
  1. 把 a 转换成想要的格式
var a = {
  jimmy: 'male',
  yanina: 'female'
}
// 你的答案
// 期望结果:result = ['jimmy', 'yanina']
  1. 把 a 转换成想要的格式
var a = {
  jimmy: 'male',
  yanina: 'female'
}
// 你的答案
// 期望结果:result = ['male', 'female']
  1. 把 a 转换成想要的格式(注:请尝试用多种方式转换)
var a = {
  jimmy: 'male',
  yanina: 'female'
}
// 你的答案
// 期望结果:result = [
//   { name: 'jimmy', sex: 'male' },
//   { name: 'yanina', sex: 'female' }
// ]

方法一(用 for in):

let result = []
for (let k in a) {
  result.push({ name: k, sex: a[k] })
}
console.log(result)

方法二(遵循Ivan的要求):

let keys = Object.keys(a)
result = keys.map((k) => {
  return { name: k, sex: a[k] }
})
console.log(result)