2012-05-24 6 views

ответ

237

Вы можете передать отрицательный индекс до .slice().

var member = "my name is maanu"; 

var last2 = member.slice(-2); 

alert(last2); // "nu" 
+8

'slice()': https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice – Offirmo

5

Вы можете попробовать

member.substr(member.length-2); 
+0

Вы пропустили member.length от Вашего начального индекса :) – mattytommo

+2

member.substr (-2, 2) будет правильный – Ibu

+0

-2, 2 является правильным onw :) спасибо @Ibu – Muhammed

15

Попробуйте это, обратите внимание, что вам не нужно указывать конечный индекс в substring.

var characters = member.substr(member.length -2); 
+0

Ваш первоначальный ответ был, вероятно, более уместным. Согласно [MDN's 'substr' docs] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/substr), *« JScript от Microsoft не поддерживает отрицательные значения для начального индекса ». * –

+1

@amnotiam хороший крик, вернувшийся к оригиналу. Спасибо – mattytommo

1

Для этого необходимо использовать подстроку, а не jQuery.

попробовать что-то вроде этого:

member.substring(member.length - 2, member.length) 

W3Schools (не официальные, но иногда полезно): http://www.w3schools.com/jsref/jsref_substring.asp

Добавление MDN ссылку в соответствии с просьбой комментатора: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/substring

+3

, пожалуйста, укажите ссылки на официальную документацию, такую ​​как MSDN или MDN, а не w3fools :) – jbabey

+0

w3schools не является «официальным», но, как правило, имеет достоверную информацию. MSDN является официальным, но имеет специфику IE и не имеет ничего общего с Firefox, Safari и т. Д. – Matt

+3

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String – jbabey

2
var member = "my name is maanu"; 

var answer=member.substring(0,member.length - 2);

alert(answer); 
+1

Что делает код? Пожалуйста, напишите объяснение того, чего это добивается. – DNKROZ

+3

Справедливости ради, вопрос очень специфичен в отношении того, что должен делать код, поэтому ответ, состоящий из (по сути) одной строки кода, довольно понятен. – anaximander

+1

Выход кода будет «nu». Возьмите последние 2 charecter от слова. –

13

Теперь 2016 раз string.substr(-2) должны сделать трюк (не подстрока (!))

взяты из MDN

Синтаксис

str.substr(start[, length])

Параметры

начала

Место, с которого начинается извлечение символов. Если дано отрицательное число, оно обрабатывается как strLength + start где strLength равно длина строки (например, если start is -3, она рассматривается как strLength - 3.) length Дополнительно. Количество символов для извлечения.

0

Если это целое число, вам нужна часть ....

var result = number.toString().slice(-2); 
Смежные вопросы