https://lodash.com/docs#mapKeysLàm thế nào để ánh xạ sâu các khóa đối tượng bằng JavaScript (lodash)?
Có thể ánh xạ khóa của đối tượng một cách sâu sắc bằng Lodash không? Nếu không, có thư viện nào khác cung cấp chức năng này (nếu được nhóm lại với chức năng thao tác lặp và sâu khác, thậm chí tốt hơn!)? Khác, làm thế nào sẽ đi về thực hiện điều này? Cuộc đấu tranh chính mà tôi thấy là xác định các đối tượng khóa/giá trị thuần túy một cách an toàn, có thể lặp lại sâu sắc. Thật dễ dàng để ném ra các mảng, nhưng điều quan trọng cần lưu ý là hàm không nên cố gắng lặp đi lặp lại sâu vào các đối tượng khác như một regex chẳng hạn.
Dành result-
var obj = { a: 2, b: { c: 2, d: { a: 3 } } };
_.deepMapKeys(obj, function (val, key) {
return val + '_hi';
});
// => { a_hi: 2, b_hi: { c_hi: 2, d_hi: { a_hi: 3 } } }
Đây là giải pháp tuyệt vời vì vậy tôi sẽ upvote nó. Tuy nhiên, tôi thấy câu trả lời được chấp nhận đơn giản hơn trong việc giải quyết tùy chọn vì vậy đó là cách tiếp cận tôi muốn giới thiệu. –
@TejasManohar: tốt, bạn đã yêu cầu mã đó là lodash dựa và có thể phân biệt giữa các đối tượng đơn giản và đã nhập ... câu trả lời được chấp nhận là không. – georg
Bạn nói đúng. Tôi đã thay đổi điều này. –