Hướng dẫn convert string to object name javascript – chuyển đổi chuỗi thành tên đối tượng javascript

33

Nội dung chính

Show

  • Trượt nhanh
  • MỤC LỤC
  • Tải xuống & ghi chú
  • Ghi chú nhanh
  • Mã hóa ví dụ Tải xuống
  • 1) Json Parse
  • 2) Hướng dẫn sử dụng vòng lặp
  • 3) Chức năng nhập khẩu ”
  • Liên kết & Tài liệu tham khảo
  • Bảng gian lận infographic
  • KẾT THÚC
  • Tôi có thể chuyển đổi chuỗi thành Đối tượng JavaScript không?
  • Làm thế nào để bạn biến một chuỗi thành một đối tượng?
  • Tên đối tượng có thể là một chuỗi không?
  • Làm cách nào để chuyển đổi một chuỗi thành một mảng trong JavaScript?

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Có thể trùng lặp: JavaScript sử dụng biến làm tên đối tượng
Javascript use variable as object name

Làm cách nào để JS xử lý một chuỗi làm tham chiếu đến một đối tượng được xác định trước đó? Giản thể:

var myObject = new MyObject();

var myString = "myObject";

var wantThisToWork = myString.myproperty;

Hướng dẫn convert string to object name javascript - chuyển đổi chuỗi thành tên đối tượng javascript

Đã hỏi ngày 8 tháng 6 năm 2012 lúc 17:20Jun 8, 2012 at 17:20

4

Nếu biến nằm trong phạm vi toàn cầu, bạn có thể truy cập nó như một thuộc tính của đối tượng toàn cầu

var a = "hello world";
var varName = "a";
console.log( window[varName] ); // outputs hello world
console.log( this[varName] ); // also works (this === window) in this case

Tuy nhiên, nếu đó là một biến cục bộ, cách duy nhất là sử dụng

var a = "hello world";
var varName = "a";
console.log( window[varName] ); // outputs hello world
console.log( this[varName] ); // also works (this === window) in this case

0 (từ chối trách nhiệm)

function () {
  var a = "hello world";
  var varName = "a";
  console.log( this[varName] ); // won't work
  console.log( eval(varName) ); // Does work
}

Trừ khi bạn có thể đặt các biến động của mình vào một đối tượng và truy cập nó giống như một thuộc tính

function () {
  var scope = {
    a: "hello world";
  };
  var varName = "a";
  console.log( scope[varName] ); // works
}

Đã trả lời ngày 8 tháng 6 năm 2012 lúc 17:27Jun 8, 2012 at 17:27

Ruan Mendesruan MendesRuan Mendes

87.5K30 Huy hiệu vàng146 Huy hiệu bạc209 Huy hiệu đồng30 gold badges146 silver badges209 bronze badges

5

Bạn có thể sử dụng hàm

var a = "hello world";
var varName = "a";
console.log( window[varName] ); // outputs hello world
console.log( this[varName] ); // also works (this === window) in this case

0.

eval(myString).myproperty

Tuy nhiên, cẩn thận với Eval, nếu đây là thứ mà người dùng đang nhập, nó sẽ thực hiện bất kỳ mã JavaScript nào!

Đã trả lời ngày 8 tháng 6 năm 2012 lúc 17:23Jun 8, 2012 at 17:23

Sachleensachleensachleen

30.2k8 Huy hiệu vàng75 Huy hiệu bạc72 Huy hiệu đồng8 gold badges75 silver badges72 bronze
badges

2

Cách duy nhất, như dường như đối với tôi, sẽ là sử dụng Eval. Nhưng như họ nói, Eval là xấu xa – nhưng không phải trong môi trường được kiểm soát. Đây là cách có thể, nhưng tôi không khuyên bạn nên sử dụng Eval, trừ khi nó hoàn toàn cần thiết.

var myObject = new MyObject();
var myString = "myObject";
var wantThisToWork = eval(myString).myproperty;

Đã trả lời ngày 8 tháng 6 năm 2012 lúc 17:22Jun 8, 2012 at 17:22

Hướng dẫn convert string to object name javascript - chuyển đổi chuỗi thành tên đối tượng javascript

Parth Thakkarparth ThakkarParth Thakkar

5.3673 Huy hiệu vàng24 Huy hiệu bạc34 Huy hiệu đồng3 gold badges24 silver badges34 bronze badges

7

Sử dụng eval ()eval()

var myObject = {};
myObject.myproperty = "Hello";
var myString = "myObject";

var wantThisToWork = eval(myString).myproperty;

Đã trả lời ngày 8 tháng 6 năm 2012 lúc 17:30Jun 8, 2012 at 17:30

AnandanandAnand

14.1K7 Huy hiệu vàng31 Huy hiệu bạc44 Huy hiệu đồng7 gold badges31 silver badges44 bronze badges

7

Chào mừng bạn đến với một hướng dẫn ngắn về cách chuyển đổi một chuỗi thành một đối tượng trong JavaScript. Vâng, để có câu trả lời nhanh –

Hàm JavaScript gốc duy nhất để chuyển đổi một chuỗi thành một đối tượng là

var a = "hello world";
var varName = "a";
console.log( window[varName] ); // outputs hello world
console.log( this[varName] ); // also works (this === window) in this case

2. Ví dụ,

var a = "hello world";
var varName = "a";
console.log( window[varName] ); // outputs hello world
console.log( this[varName] ); // also works (this === window) in this case

3. Để chuyển đổi chuỗi của các định dạng khác, nó phải được thực hiện thủ công.

Điều đó bao gồm những điều cơ bản, nhưng chúng ta hãy đi qua một vài ví dụ nữa trong hướng dẫn này – đọc tiếp!

Tôi đã bao gồm một tệp zip với tất cả các mã nguồn ví dụ khi bắt đầu hướng dẫn này, vì vậy bạn không phải sao chép mọi thứ, hoặc nếu bạn chỉ muốn đi thẳng vào.

Trượt nhanh

Hướng dẫn convert string to object name javascript - chuyển đổi chuỗi thành tên đối tượng javascript

MỤC LỤC

Tải xuống & ghi chú

Hướng dẫn convert string to object name javascript - chuyển đổi chuỗi thành tên đối tượng javascript

Thứ nhất, đây là liên kết tải xuống đến mã ví dụ như đã hứa.

Ghi chú nhanh

Nếu bạn phát hiện ra một lỗi, hãy bình luận bên dưới. Tôi cũng cố gắng trả lời các câu hỏi ngắn, nhưng đó là một người so với toàn bộ thế giới, nếu bạn cần câu trả lời khẩn cấp, vui lòng kiểm tra danh sách các trang web của tôi để nhận trợ giúp lập trình.

Mã hóa ví dụ Tải xuống

Nhấn vào đây để tải xuống mã nguồn, tôi đã phát hành nó theo giấy phép MIT, vì vậy hãy thoải mái xây dựng trên đó hoặc sử dụng nó trong dự án của riêng bạn.

Được rồi, bây giờ chúng ta hãy đi vào các cách khác nhau mà chúng ta có thể tạo các chức năng (hoặc quy trình) để biến một chuỗi thành một đối tượng.

1) Json Parse

1-json.js

// (A) JSON ENCODED STRING
var thestring = '{"Name":"Jon Doe","Email":"","Address":"123 Doe Street"}';

// (B) PARSE JSON
var theobj = JSON.parse(thestring);

/* Name: "Jon Doe",
 * Email: "",
 * Address: "123 Doe Street"
 */
console.log(theobj);

Đối với những người mới bắt đầu chưa nghe về nó – JSON là viết tắt của ký hiệu đối tượng JavaScript. Đơn giản chỉ cần đặt, biến một mảng hoặc đối tượng trong một chuỗi.

var a = "hello world";
var varName = "a";
console.log( window[varName] ); // outputs hello world
console.log( this[varName] ); // also works (this === window) in this case

4 sẽ biến một đối tượng thành một chuỗi được mã hóa JSON, sau đó chúng tôi sử dụng hàm

var a = "hello world";
var varName = "a";
console.log( window[varName] ); // outputs hello world
console.log( this[varName] ); // also works (this === window) in this case

5 để biến nó trở lại thành một đối tượng.

2) Hướng dẫn sử dụng vòng lặp

2-for.js

(A) CSV STRING
var thestring = "Name,Joe Doe,Email,,Address,234 Doe Street";

// (B) MANUAL PROCESS AND LOOP
var temp = thestring.split(","),
    theobj = {};
for (let i=0; i<temp.length; i+=2) {
  theobj[temp[i]] = temp[(i+1)];
}

/* Name: "Joe Doe",
 * Email: "",
 * Address: "234 Doe Street"
 */
console.log(theobj);

Vậy điều gì sẽ xảy ra nếu chuỗi ban đầu của người Viking không ở định dạng JSON thì sao? Vâng, nó là loại xấu trong tình huống này. Như cách duy nhất là xử lý chuỗi thủ công. Trong ví dụ trên, chúng tôi có một chuỗi ở định dạng giá trị phân tách dấu phẩy (CSV).

Giả sử rằng chuỗi CSV được giữ ở định dạng

var a = "hello world";
var varName = "a";
console.log( window[varName] ); // outputs hello world
console.log( this[varName] ); // also works (this === window) in this case

6. Trước tiên, chúng tôi chia các giá trị bằng cách sử dụng

var a = "hello world";
var varName = "a";
console.log( window[varName] ); // outputs hello world
console.log( this[varName] ); // also works (this === window) in this case

7, sau đó ghép chúng lại thành một đối tượng.

3) Chức năng nhập khẩu ”

3-function.js

// (A) THE EXISTING OBJECT
var theobj = {
  // (A1) OBJECT PROPERTIES
  Name: null,
  Email: null,
  Address: null,

  // (A2) IMPORT FROM CSV STRING
  inCSV : function (str) {
    let tempA = str.split(","),
        tempB = {};
    for (let i=0; i<tempA.length; i+=2) {
      tempB[tempA[i]] = tempA[(i+1)];
    }
    this.Name = tempB.Name;
    this.Email = tempB.Email;
    this.Address = tempB.Address;
  },

  // (A3) IMPORT FROM JSON STRING
  inJSON : function (str) {
    let temp = JSON.parse(str);
    this.Name = temp.Name;
    this.Email = temp.Email;
    this.Address = temp.Address;
  }
};

// (B) PROCESS "IMPORT"
// (B1) CSV
var dataA = "Name,Job Doe,Email,,Address,345 Doe Street";
theobj.inCSV(dataA);
 
/* Name: "Job Doe",
 * Email: "",
 * Address: "345 Doe Street"
 */
console.log(theobj);

// (B2) JSON
var dataB = '{"Name":"Joy Doe","Email":"","Address":"456 Doe Street"}';
theobj.inJSON(dataB);
 
/* Name: "Joy Doe",
 * Email: "",
 * Address: "456 Doe Street"
 */
console.log(theobj);

Có, chúng ta có thể đặt các chức năng vào một đối tượng. Vì vậy, nếu bạn có một đối tượng hiện có và chỉ muốn nhập một số giá trị từ một chuỗi – chỉ cần tạo phiên bản của riêng bạn về nhập khẩu từ các hàm chuỗi. Ví dụ trên đi qua 2 hương vị nhập khẩu, từ chuỗi JSON và từ chuỗi CSV.

Liên kết & Tài liệu tham khảo

  • Parse Json – MDN
  • Chuỗi thành đối tượng trong JS – StackOverflow
  • Ví dụ về CodePen – Chuỗi JS để đối tượng

Bảng gian lận infographic

Hướng dẫn convert string to object name javascript - chuyển đổi chuỗi thành tên đối tượng javascript

Chuyển đổi chuỗi thành đối tượng trong JS (bấm để phóng to)

KẾT THÚC

Cảm ơn bạn đã đọc, và chúng tôi đã đi đến cuối hướng dẫn này. Tôi hy vọng rằng nó đã giúp bạn với dự án của bạn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, xin vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc!

Tôi có thể chuyển đổi chuỗi thành Đối tượng JavaScript không?

Sử dụng hàm javascript json.parse () để chuyển đổi văn bản thành đối tượng javascript: const obj = json.parse (‘{“name”: “john”, “tuổi”: 30, “thành phố”: “new york”}’);

: const obj = JSON.parse(‘{“name”:”John”, “age”:30, “city”:”New York”}’);

Làm thế nào để bạn biến một chuỗi thành một đối tượng?

Chúng ta có thể chuyển đổi chuỗi thành đối tượng trong Java với toán tử gán.Mỗi lớp là nội bộ là một lớp trẻ của lớp đối tượng.Để bạn có thể gán chuỗi trực tiếp cho đối tượng.Bạn cũng có thể chuyển đổi chuỗi thành đối tượng loại bằng lớp bằng lớp.

with assignment operator

. Each class is internally a child class of Object class. So you can assign string to Object directly. You can also convert String to Class type object using Class.

Tên đối tượng có thể là một chuỗi không?

Một tên đối tượng có thể được viết dưới dạng chuỗi với các phần tử sau theo thứ tự: miền.Một dấu hai chấm ( : ).Một danh sách tài sản chính như được định nghĩa dưới đây.

with the following elements in order: The domain. A colon ( : ). A key property list as defined below.

Làm cách nào để chuyển đổi một chuỗi thành một mảng trong JavaScript?

Phương thức Split () chia một chuỗi thành một mảng các chuỗi con.Phương thức chia () trả về mảng mới.Phương thức chia () không thay đổi chuỗi gốc.Nếu (“”) được sử dụng làm dấu phân cách, chuỗi được phân chia giữa các từ.

. The split() method returns the new array. The split() method does not change the original string. If (” “) is used as separator, the string is split between words.