Har*_*rma 1 javascript data-structures
假设我有一个对象数组,这里我假设对象具有三个属性,但可能更多,我想用属性名称提取其中一些:
objArr = [{
  name : "name",
  description : "description",
  date : "date"
},{
  name : "name",
  description : "description",
  date : "date"
},{
  name : "name",
  description : "description",
  date : "date"
}]
name比如说,我只想从上述 中提取 的值objArr。我可以使用以下方法来做到这一点:
(function(objArray){
  objArray.forEach(function(arrObjItem) {
    for(let name in arrObjItem) {
      if(arrObjItem.hasOwnProperty(name)) {
        console.log(objArrItem.name)
      }
    }
  })
})(objArr)
但我真正想要的是提取两个以上属性的值name和description/或值,如果问题具有不同的数据结构,每个对象有更多属性。最后,我想创建这些提取的属性的映射。(或具有提取的属性、值的新对象数组)(或具有提取的属性、值对的元组)。
您可以映射对象所需的键,并通过映射数组生成新对象。
function getSubset(array, keys) {
    return array.map(o => Object.assign(...keys.map(k => ({ [k]: o[k] }))));
}
var objArr = [{ name: "name", description: "description", date: "date" }, { name: "name", description: "description", date: "date" }, { name: "name", description: "description", date: "date" }];
console.log(getSubset(objArr, ['name', 'description']));| 归档时间: | 
 | 
| 查看次数: | 118 次 | 
| 最近记录: |