js/es6 关于数组中的数组的问题

js/es6 关于数组中的数组的问题

数据结构如上,我该怎么单纯提取出这两个前面带有1/2的数组出来

示例结构↓

const data = [{ rel: '&', '1': { tpye: '1', label: '大神' }, '2': { tpye: '2', label: '你好' }, rule: [{ id: '1' }] }]

期待效果↓

const result = [{ tpye: '1', label: '大神' }, { tpye: '2', label: '你好' }]

顺带一提,在这个data中可能还会有前面为0的undefined
js/es6 关于数组中的数组的问题

在这里先感谢各位大神们的解答,小弟感激不尽!


回答:

function obj2arr(obj) {

return Object.entries(obj).reduce((res, [k, v]) => {

if(!isNaN(+k) && v !== null && v !== undefined) res.push(v)

return res;

}, [])

}


回答:

const result = Object.keys(data[0]).map(v=>/^\d+$/.test(v)&&data[0][v]).filter(v=>v);


回答:

const result = Object.keys(data[0])

.map((item) => /\d+/.test(item) && data[0][item] && data[0][item])

.filter((item) => item);


回答:

function transform(arr) {

var ret = [];

for (var key in arr[0]) {

var value = arr[0][key];

if (/^\d+$/.test(key) && typeof value === "object" && value) {

ret.push(value);

}

}

return ret;

}

var result = transform(data);

console.dir(result);


回答:

你如果明确有这样的对象,其实很简单的

const data = [{ rel: '&', '1': { tpye: '1', label: '大神' }, '2': { tpye: '2', label: '你好' }, rule: [{ id: '1' }] }]

adata = [data[0]["1"],data[0]["2"]]

以上是 js/es6 关于数组中的数组的问题 的全部内容, 来源链接: utcz.com/p/936748.html

回到顶部