Computer >> Máy Tính >  >> Lập trình >> Javascript

Làm cách nào để biến một chuỗi có ký hiệu dấu chấm thành một đối tượng lồng nhau có giá trị - JavaScript?

Giả sử sau đây là chuỗi ký hiệu dấu chấm của chúng tôi -

const keys = "details1.details2.details3.details4.details5"

Và sau đây là mảng của chúng tôi -

const firsName = "David";

Để biến thành một đối tượng lồng nhau, hãy sử dụng khái niệm split (‘.’) Cùng với map ().

Ví dụ

Sau đây là mã -

const keys = "details1.details2.details3.details4.details5"
const firsName = "David";
var tempObject = {};
var container = tempObject;
keys.split('.').map((k, i, values) => {
   container = (container[k] = (i == values.length - 1 ? firsName : {}))
});
console.log(JSON.stringify(tempObject, null, ' '));

Để chạy chương trình trên, bạn cần sử dụng lệnh sau -

node fileName.js.

Đây, tên tệp của tôi là demo227.js.

Đầu ra

Kết quả như sau -

PS C:\Users\Amit\JavaScript-code> node demo227.js
{
 "details1": {
  "details2": {
   "details3": {
    "details4": {
     "details5": "David"
    }
   }
  }
 }
}