Ví dụ: nếu bạn cần chia nhỏ tên đường dẫn, một URL như https. // thủ thuật css. com/blah/blah/blah/chỉ mục. html, bạn có thể tách chuỗi thành ký tự “/”
var pathArray = window.location.pathname.split['/'];
Sau đó truy cập các phần khác nhau theo các phần của mảng, như
var secondLevelLocation = pathArray[0];
Để đặt tên đường dẫn đó lại với nhau, bạn có thể ghép mảng lại với nhau và đặt lại dấu “/” vào
var newPathname = "";
for [i = 0; i < pathArray.length; i++] {
newPathname += "/";
newPathname += pathArray[i];
}
Có lẽ cách nhanh nhất để tận dụng tối đa những gì bạn có là đặt
var secondLevelLocation = pathArray[0];
0 vào bảng điều khiển DevTools và xemchức năng giải quyếtKvmPath [kết nối, tùy chọn] { if [tùy chọn && [tùy chọn. env. tùy chọn. môi trường]] { return urljoin[conn. urlBase, 'e', [tùy chọn. env. tùy chọn. môi trường], 'keyvaluemaps']; . proxy] { return [tùy chọn. ôn tập] ? . urlBase, 'apis', tùy chọn. proxy, 'sửa đổi', tùy chọn. sửa đổi, 'keyvaluemaps']. liên kết url[kết nối. urlBase, 'apis', tùy chọn. proxy, 'bản đồ giá trị khóa']; . urlBase, 'keyvaluemaps']; ❮ Mô-đun đường dẫn
Ví dụ
Tham gia một số phân đoạn vào một đường dẫn
var đường dẫn = yêu cầu ['đường dẫn'];
var x = đường dẫn. tham gia ['Người dùng', 'Refsnes', 'demo_path. js'];
bảng điều khiển. nhật ký [x];
Chạy ví dụ »Định nghĩa và cách sử dụng
Con đường. phương thức join[] nối các đoạn đường dẫn đã chỉ định thành một đường dẫn
Bạn có thể chỉ định bao nhiêu đoạn đường dẫn tùy thích
Các đoạn đường dẫn đã chỉ định phải là các chuỗi, được phân tách bằng dấu phẩy
cú pháp
Giá trị tham số
Tham sốDescriptionpathsBắt buộc. Chuỗi các đoạn đường dẫn nối thành một đường dẫnchi tiết kỹ thuật
Giá trị trả về. Một Chuỗi, đại diện cho pathNode đã tham gia. phiên bản js. 0. 1. 16Thêm ví dụ
Ví dụ
Thêm một '. ' là một trong các phân đoạn và phương thức nối sẽ giải quyết nó
var đường dẫn = yêu cầu ['đường dẫn'];
var x = đường dẫn. join['Users', 'Refsnes', '. ', 'đường dẫn demo. js'];
bảng điều khiển. nhật ký [x];
Chạy ví dụ »❮ Mô-đun đường dẫn
Viết chương trình JavaScript để Nối tất cả các đoạn URL đã cho lại với nhau, sau đó bình thường hóa URL kết quả
- Sử dụng Chuỗi. nguyên mẫu. join['/'] để kết hợp các đoạn URL
- Sử dụng một loạt String. nguyên mẫu. replace[] với các biểu thức chính quy khác nhau để chuẩn hóa URL kết quả [xóa dấu gạch chéo kép, thêm dấu gạch chéo thích hợp cho giao thức, xóa dấu gạch chéo trước tham số, kết hợp tham số với '&' và chuẩn hóa dấu phân cách tham số đầu tiên]
Giải pháp mẫu
Mã JavaScript
//#Source //bit.ly/2neWfJ2
const URL_Join = [...args] =>
args
.join['/']
.replace[/[\/]+/g, '/']
.replace[/^[.+]:\//, '$1://']
.replace[/^file:/, 'file:/']
.replace[/\/[\?|&|#[^!]]/g, '$1']
.replace[/\?/g, '&']
.replace['&', '?'];
console.log[URL_Join['//www.google.com', 'a', '/b/cd', '?foo=123', '?bar=foo']];
Đầu ra mẫu
//www.google.com/a/b/cd?foo=123&bar=foo
Trình bày bằng hình ảnh
Sơ đồ
Bản thử trực tiếp
Xem Bút javascript-basic-exercise-55-1 của w3resource [@w3resource] trên CodePen
Cải thiện giải pháp mẫu này và đăng mã của bạn qua Disqus
Trước. Viết chương trình JavaScript để khởi tạo một mảng chứa các số trong phạm vi đã chỉ định trong đó bắt đầu và kết thúc được bao gồm bước khác biệt chung của chúng.
Tiếp theo. Viết chương trình JavaScript để kiểm tra xem tất cả các phần tử trong một mảng đã cho có bằng nhau hay không.
Mức độ khó của bài tập này là gì?
Dễ dàng trung bình khóKiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource
JavaScript. Lời khuyên trong ngày
Sử dụng mảng giá trị làm đối số cho hàm
Chúng tôi có các trường hợp khi bạn cần thu thập các giá trị của mình trong [các] mảng và sau đó chuyển nó làm đối số cho hàm. Với ES6, bạn chỉ có thể sử dụng toán tử trải rộng [. ] và trích xuất mảng của bạn từ [arg1, arg2] > [arg1, arg2]
Nối tất cả các đối số lại với nhau và chuẩn hóa URL kết quả
Cài đặt
Nếu bạn muốn sử dụng nó trực tiếp trong trình duyệt, hãy sử dụng CDN như Skypack
Cách sử dụng
import urlJoin from 'url-join'; const fullUrl = urlJoin['//www.google.com', 'a', '/b/cd', '?foo=123']; console.log[fullUrl];
bản in
'//www.google.com/a/b/cd?foo=123'
Giấy phép
MIT
Hàm tạo
var secondLevelLocation = pathArray[0];
1 trả về một đối tượng var secondLevelLocation = pathArray[0];
2 mới được tạo đại diện cho URL được xác định bởi các tham sốNếu URL cơ sở đã cho hoặc URL kết quả không phải là URL hợp lệ, thì ngoại lệ JavaScript
var secondLevelLocation = pathArray[0];
3 sẽ được đưa raGhi chú. Tính năng này có sẵn trong Web Worker
cú pháp
new URL[url]
new URL[url, base]
Thông số
var secondLevelLocation = pathArray[0];
4Chuỗi hoặc bất kỳ đối tượng nào khác có trình tạo chuỗi — bao gồm, ví dụ: phần tử
var secondLevelLocation = pathArray[0];
5 hoặc var secondLevelLocation = pathArray[0];
6 — đại diện cho một URL tuyệt đối hoặc tương đối. Nếu var secondLevelLocation = pathArray[0];
4 là một URL tương đối, thì var secondLevelLocation = pathArray[0];
8 là bắt buộc và sẽ được sử dụng làm URL cơ sở. Nếu var secondLevelLocation = pathArray[0];
4 là một URL tuyệt đối, thì một var secondLevelLocation = pathArray[0];
8 nhất định sẽ bị bỏ quavar secondLevelLocation = pathArray[0];
8 Tùy chọnChuỗi đại diện cho URL cơ sở để sử dụng trong trường hợp
var secondLevelLocation = pathArray[0];
4 là URL tương đối. Nếu không được chỉ định, nó sẽ mặc định là // Base URLs:
let baseUrl = '//developer.mozilla.org';
let A = new URL["/", baseUrl];
// => '//developer.mozilla.org/'
let B = new URL[baseUrl];
// => '//developer.mozilla.org/'
new URL['en-US/docs', B];
// => '//developer.mozilla.org/en-US/docs'
let D = new URL['/en-US/docs', B];
// => '//developer.mozilla.org/en-US/docs'
new URL['/en-US/docs', D];
// => '//developer.mozilla.org/en-US/docs'
new URL['/en-US/docs', A];
// => '//developer.mozilla.org/en-US/docs'
new URL['/en-US/docs', "//developer.mozilla.org/fr-FR/toto"];
// => '//developer.mozilla.org/en-US/docs'
// Invalid URLs:
new URL['/en-US/docs', ''];
// Raises a TypeError exception as '' is not a valid URL
new URL['/en-US/docs'];
// Raises a TypeError exception as '/en-US/docs' is not a valid URL
// Other cases:
new URL['//www.example.com', ];
// => '//www.example.com/'
new URL['//www.example.com', B];
// => '//www.example.com/'
new URL["", "//example.com/?query=1"];
// => '//example.com/?query=1' [Edge before 79 removes query arguments]
new URL["/a", "//example.com/?query=1"];
// => '//example.com/a' [see relative URLs]
new URL["//foo.com", "//example.com"];
// => '//foo.com' [see relative URLs]
4Ghi chú. Mỗi đối số
var secondLevelLocation = pathArray[0];
4 và var secondLevelLocation = pathArray[0];
8 sẽ được xâu chuỗi từ bất kỳ giá trị nào bạn chuyển, giống như các API Web khác chấp nhận một chuỗi. Đặc biệt, bạn có thể sử dụng một đối tượng var secondLevelLocation = pathArray[0];
2 hiện có cho một trong hai đối số và nó sẽ xâu chuỗi thành thuộc tính // Base URLs:
let baseUrl = '//developer.mozilla.org';
let A = new URL["/", baseUrl];
// => '//developer.mozilla.org/'
let B = new URL[baseUrl];
// => '//developer.mozilla.org/'
new URL['en-US/docs', B];
// => '//developer.mozilla.org/en-US/docs'
let D = new URL['/en-US/docs', B];
// => '//developer.mozilla.org/en-US/docs'
new URL['/en-US/docs', D];
// => '//developer.mozilla.org/en-US/docs'
new URL['/en-US/docs', A];
// => '//developer.mozilla.org/en-US/docs'
new URL['/en-US/docs', "//developer.mozilla.org/fr-FR/toto"];
// => '//developer.mozilla.org/en-US/docs'
// Invalid URLs:
new URL['/en-US/docs', ''];
// Raises a TypeError exception as '' is not a valid URL
new URL['/en-US/docs'];
// Raises a TypeError exception as '/en-US/docs' is not a valid URL
// Other cases:
new URL['//www.example.com', ];
// => '//www.example.com/'
new URL['//www.example.com', B];
// => '//www.example.com/'
new URL["", "//example.com/?query=1"];
// => '//example.com/?query=1' [Edge before 79 removes query arguments]
new URL["/a", "//example.com/?query=1"];
// => '//example.com/a' [see relative URLs]
new URL["//foo.com", "//example.com"];
// => '//foo.com' [see relative URLs]
8 của đối tượngngoại lệ
Ngoại lệGiải thích
var secondLevelLocation = pathArray[0];
3var secondLevelLocation = pathArray[0];
4 [trong trường hợp URL tuyệt đối] hoặc var secondLevelLocation = pathArray[0];
8 + var secondLevelLocation = pathArray[0];
4 [trong trường hợp URL tương đối] không phải là URL hợp lệ