Comments (3)
Probably i will need to enhance mapDeep, right now it's possible to do with eachDeep, but i am out of my laptop, so i will be able to create an example only in some hours.
from deepdash.
I hope I understood your criteria right:
you want to replace any flat array by CSV string?
here is an example:
var data = { arr: ['a', 'b', { c: ['y', 'w', 'z'] }, 'd', 'e',[1,2,3],{more:{nested:{arrays:[[1,2,3],[4,5,6],[7,8,9]]}}}]};
_.eachDeep(data,(val, key, parent, context)=>{
if(_.isArray(val) && !_.some(val, _.isObject)){
parent[key] = val.join();
return false;
}
});
data:
{
"arr": [
"a",
"b",
{
"c": "y,w,z"
},
"d",
"e",
"1,2,3",
{
"more": {
"nested": {
"arrays": [
"1,2,3",
"4,5,6",
"7,8,9"
]
}
}
}
]
}
from deepdash.
And about topic question: "can mapDeep alter structure?"
As said in docs
"mapDeep returns an object with the same structure with values trasformed thru iteratee."
So, no, it cannot.
And I will keep it as is because it's made intentionally, to mimic the behavior of native Array.map
method (And it's not cargo-cult - it really makes sense).
Let me know please, if my suggestion works for you.
from deepdash.
Related Issues (20)
- omitDeep changes input on empty array HOT 1
- omitDeep doesn't omit objects HOT 7
- ERR_PACKAGE_PATH_NOT_EXPORTED HOT 3
- how to remove values from json if they exist
- Feature Request Parent path
- filterDeep not working on deeply nested object HOT 2
- Working with promises HOT 2
- Frustrating that things like `pickDeep` and `filterDeep` can only return a nested structure HOT 3
- deepdash-es not working with jest-resolve HOT 9
- deepFilter keep parents
- ESM: IIterateeContext typescript interface not exposed
- findPathDeep doesn't return first Value path
- findDeep or findDeepValue - Return object that contains the key & value
- eachDeep with childrenPath == wrong parent, parent path etc
- Bug in documentation _.findDeep*
- findDeep return types problem HOT 3
- Add contributing docs HOT 1
- findDeep is not a function HOT 1
- explicit return values, why and how does this work HOT 1
- mapValuesDeep mutates the original object if `leavesOnly: false` HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from deepdash.