Javascript 将简单对象转换为复杂数组
我一直在尝试将下面的对象映射到下面的数组,我对映射/排序和减少是非常陌生的。甚至有可能获得想要的结果吗 发件人: 致:Javascript 将简单对象转换为复杂数组,javascript,arrays,object,Javascript,Arrays,Object,我一直在尝试将下面的对象映射到下面的数组,我对映射/排序和减少是非常陌生的。甚至有可能获得想要的结果吗 发件人: 致: 以旧的方式尝试此代码示例: var res=[] var obj={ 拳击手:[], brabancon:[], 布里亚德:[], 斗牛犬:[波士顿,法语] } 对于obj中的var键{ if!obj[key].length{ 再推{ 狗种:钥匙 } }否则{ 对于变量i=0;i value.length>0?值:[].mapx=>{dogbride:key+x?`${x}`
以旧的方式尝试此代码示例: var res=[] var obj={ 拳击手:[], brabancon:[], 布里亚德:[], 斗牛犬:[波士顿,法语] } 对于obj中的var键{ if!obj[key].length{ 再推{ 狗种:钥匙 } }否则{ 对于变量i=0;i
console.logarr 使用Object.keys将对象的键获取到数组中。然后循环遍历数组并将每个对象推入新数组
var obj = {
boxer: [],
brabancon: [],
briard: [],
bulldog: [ "boston", "french" ]
}
var arr = Object.keys(obj);
var newArr =[];
arr.forEach(function(element) {
console.log(element);
newArr.push({'breed':element})
});
请参阅以下连结:
您能将您尝试过的代码添加到问题中吗?好的,您对这些方法没有任何经验。试着做点什么,即使它不起作用。然后回来寻求SO社区的帮助。你的问题还没有很好地构建。在共享代码之前列出问题。除了建议之外,你还需要从陈述问题开始,重点关注研究后的差距。然后描述到目前为止您的策略、代码设置+条件以及错误/问题。同时陈述你已经知道的“明显的”背景,以便人们理解你的尝试。另见,
[
{dogBreed: 'boxer'},
{dogBree: 'brabancon'},
{dogBree: 'briard'},
{dogBree: 'bulldog (boston)'},
{dogBree: 'bulldog (french)'}
]
var obj = {
boxer: [],
brabancon: [],
briard: [],
bulldog: [ "boston", "french" ]
}
var arr = Object.keys(obj);
var newArr =[];
arr.forEach(function(element) {
console.log(element);
newArr.push({'breed':element})
});
let testing = {
boxer: [],
brabancon: [],
briard: [],
bulldog: [ "boston", "french" ]
}
function convertToObjectArray(testing, objKey) {
let array = [];
Object.keys(testing).forEach(function(el) {
if(testing[el] && testing[el].length > 0) {
testing[el].forEach(function(e) {
let obj = {};
obj[objKey] = el + ' (' + e + ')';
array.push(obj);
});
}
else {
let obj = {};
obj[objKey] = el;
array.push(obj);
}
});
return array;
}
let finalArray = convertToObjectArray(testing, 'dogBreed');
console.log(finalArray);