我有以下数据
data: [
[200, 3],
[400, 4],
[2344, 8],
[34543, 2],
];我想要做的是使用存档或本机过滤器/映射函数创建2个数组。
array1 = [200, 400, 2344, 34543];
array2 = [3, 4, 8, 2];我试过地图,过滤和住宿,但没有运气。
发布于 2022-08-16 11:59:01
您可以使用_.unzip(),然后通过销毁获得这两个数组:
const data = [[200, 3], [400, 4], [2344, 8], [34543, 2]];
const [array1, array2] = _.unzip(data);
console.log(array1);
console.log(array2);<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js" integrity="sha512-WFN04846sdKMIP5LKNphMaWzU7YpMyCU245etK3g/2ARYbPK9Ub18eG+ljU96qKRCWh+quCY7yefSmlkQw1ANQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
发布于 2022-08-16 12:00:36
array1 = data.map(el=>el[0])
array2 = data.map(el=>el[1])发布于 2022-08-16 12:08:53
使用.map() && .at():
const data= [
[200, 3],
[400, 4],
[2344, 8],
[34543, 2],
];
const unzip = arr => [ arr.map(x => x.at(0)), arr.map(x => x.at(1)) ]
const [left, right] = unzip(data);
console.log(left);
console.log(right);
https://stackoverflow.com/questions/73373549
复制相似问题