특정 시나리오에서 개발자는 종종 복잡한 중첩이 있는 데이터 구조를 접하고 문자열을 사용하여 그 안의 특정 값에 액세스해야 하는 문제에 직면합니다. 경로로.
예를 들어 다음을 고려하세요. object:
var someObject = { 'part1': { 'name': 'Part 1', 'size': '20', 'qty': '50' }, 'part2': { 'name': 'Part 2', 'size': '15', 'qty': '60' }, 'part3': [ { 'name': 'Part 3A', 'size': '10', 'qty': '20' }, { 'name': 'Part 3B', 'size': '5', 'qty': '20' }, { 'name': 'Part 3C', 'size': '7.5', 'qty': '20' } ] };
문자열 경로를 사용하여 중첩된 값을 검색하려면 다음 기술을 사용할 수 있습니다.
Object.byString 유틸리티 함수를 사용하면 다음을 수행할 수 있습니다. 객체를 순회하고 특정 항목에 액세스 값:
Object.byString = function(o, s) { s = s.replace(/\[(\w+)\]/g, '.'); // convert indexes to properties s = s.replace(/^\./, ''); // strip a leading dot var a = s.split('.'); for (var i = 0, n = a.length; i < n; ++i) { var k = a[i]; if (k in o) { o = o[k]; } else { return; } } return o; };
사용법:
Object.byString(someObject, 'part3[0].name'); // "Part 3A"
jQuery의 $.val() 메서드를 사용하여 중첩된 개체 및 배열을 탐색할 수도 있습니다.
$.val('part1.name', someObject); // "Part 1" $.val('part2.qty', someObject); // 60 $.val('part3[0].name', someObject); // "Part 3A"
두 접근 방식 모두 문자열 경로를 통해 중첩된 구조 내의 데이터에 액세스하는 편리한 방법을 제공합니다. 복잡한 데이터를 처리하고 조작합니다.
위 내용은 문자열 경로를 사용하여 중첩된 JavaScript 개체 및 배열에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!