2013-04-25 28 views
9

Tôi có chuỗi trong jQuery:Nhận lời thứ hai và thứ ba từ chuỗi

var string1 = 'Stack Exchange premium'; 
var string2 = 'Similar Questions'; // only two 
var string3 = 'Questions that may already have your answer'; 

Làm thế nào tôi có thể nhận được từ lời thứ hai và thứ ba này?

var second1 = ???; 
var third1 = ???; 
var second2 = ???; 
var third2 = ???; 
var second3 = ???; 
var third3 = ???; 
+3

Bạn nên thêm mã của mình vào câu hỏi. Bạn đã thử cái gì và tại sao nó không hoạt động? – andrewsi

+2

Khi mọi người gặp vấn đề về JavaScript, họ nói đó là vấn đề jQuery, ngay cả khi vấn đề không liên quan đến jQuery. – xfix

Trả lời

7

Đầu tiên, bạn không có chuỗi và biến "trong jQuery". jQuery không có gì để làm với điều này.

Thứ hai, thay đổi cấu trúc dữ liệu của bạn, như thế này:

var strings = [ 
    'Stack Exchange premium', 
    'Similar Questions', 
    'Questions that may already have your answer' 
]; 

Sau đó tạo một mảng mới với dòng chữ thứ hai và thứ ba.

var result = strings.map(function(s) { 
    return s.split(/\s+/).slice(1,3); 
}); 

Bây giờ bạn có thể truy cập mỗi từ như thế này:

console.log(result[1][0]); 

này sẽ cung cấp cho bạn những từ đầu tiên của kết quả thứ hai.

14

Sử dụng chuỗi split() để phân chia các chuỗi bằng dấu cách:

var words = string1.split(' '); 

Sau đó truy cập vào các từ sử dụng:

var word0 = words[0]; 
var word1 = words[1]; 
// ... 
+0

Bạn không nên khuyến khích OP sử dụng các biến như 'word0',' word1', 'wordXXX', v.v. –

+2

@LeeTaylor Nó chỉ là một ví dụ – hek2mgl

2
var temp = string1.split(" ")//now you have 3 words in temp 
temp[1]//is your second word 
temp[2]// is your third word 

bạn có thể kiểm tra có bao nhiêu từ bạn có bằng cách tạm thời .length

3

Chỉ cần thêm vào các giải pháp có thể, kỹ thuật sử dụng split() sẽ không thành công nếu chuỗi có nhiều khoảng trống trong đó.

var arr = " word1 word2 ".split(' ') 

//arr is ["", "", "", "word1", "", "", "word2", "", "", "", ""] 

Để tránh vấn đề này, sử dụng sau

var arr = " word1 word2 ".match(/\S+/gi) 

//arr is ["word1", "word2"] 

và sau đó là bình thường,

var word1 = arr[0]; 
var word2 = arr[1] 
//etc 

cũng đừng quên kiểm tra chiều dài mảng bằng cách sử dụng .length bất động sản để tránh bị undefined trong các biến của bạn.

Các vấn đề liên quan