ฉันมีสตริงและฉันต้องได้ตัวละครตัวแรก
var x = 'somestring';
alert(x[0]); //in ie7 returns undefined
ฉันจะแก้ไขรหัสของฉันได้อย่างไร
ฉันมีสตริงและฉันต้องได้ตัวละครตัวแรก
var x = 'somestring';
alert(x[0]); //in ie7 returns undefined
ฉันจะแก้ไขรหัสของฉันได้อย่างไร
คำตอบ:
charAtสิ่งที่คุณต้องการคือ
var x = 'some string';
alert(x.charAt(0)); // alerts 's'
x.charAt()0นอกจากนี้ยังจะกลับตัวอักษรตัวแรกเป็นถ้าไม่มีดัชนีจะส่งผ่านไปยังวิธีการนี้ก็จะถือว่ามันไป
"👍".charAt(0)ผลตอบแทน"\ud83d", "café".charAt(3)ผลตอบแทนeและลดลงสำเนียง ฯลฯstackoverflow.com/questions/38345372/...มีข้อมูลบางอย่างและทางเลือกที่ดี (ใช้ห้องสมุด)
ใน JavaScript คุณสามารถทำสิ่งนี้:
const x = 'some string';
console.log(x.substring(0, 1));
x.slice(0,1)จะสั้นกว่า และเพื่อให้ได้ถ่านตัวสุดท้ายใช้:x.slice(-1)
คุณสามารถใช้สิ่งเหล่านี้
มีความแตกต่างเล็กน้อยระหว่างสิ่งเหล่านี้ดังนั้นโปรดใช้ความระมัดระวังในการใช้คำสั่งแบบมีเงื่อนไข
var string = "hello world";
console.log(string.slice(0,1)); //o/p:- h
console.log(string.charAt(0)); //o/p:- h
console.log(string.substring(0,1)); //o/p:- h
console.log(string.substr(0,1)); //o/p:- h
console.log(string[0]); //o/p:- h
var string = "";
console.log(string.slice(0,1)); //o/p:- (an empty string)
console.log(string.charAt(0)); //o/p:- (an empty string)
console.log(string.substring(0,1)); //o/p:- (an empty string)
console.log(string.substr(0,1)); //o/p:- (an empty string)
console.log(string[0]); //o/p:- undefined
const x = 'some string';
console.log(x.substring(0, 1));
ตัวอย่างของวิธีการทั้งหมด
ครั้งแรก :string.charAt(index)
ส่งคืน caract ที่ดัชนี
index
var str = "Stack overflow";
console.log(str.charAt(0));
ที่สอง :string.substring(start,length);
ส่งคืนสตริงย่อยในสตริงที่เริ่มต้นที่ดัชนี
startและหยุดหลังจากความยาวlength
ที่นี่คุณเพียงต้องการ caract แรกดังนั้น: start = 0และlength = 1
var str = "Stack overflow";
console.log(str.substring(0,1));
ทางเลือก :string[index]
สตริงเป็นอาร์เรย์ของ caract ดังนั้นคุณสามารถรับ caract แรกเหมือนเซลล์แรกของอาร์เรย์
ส่งคืน caract ที่ดัชนี
indexของสตริง
var str = "Stack overflow";
console.log(str[0]);
var x = "somestring"
alert(x.charAt(0));
วิธี charAt () ช่วยให้คุณสามารถระบุตำแหน่งของตัวละครที่คุณต้องการ
สิ่งที่คุณพยายามทำคือรับตัวอักษรที่ตำแหน่งของอาร์เรย์ "x" ซึ่งไม่ได้กำหนดไว้เนื่องจาก X ไม่ใช่อาร์เรย์
คุณสามารถใช้sliceเพื่อตัดตัวอักษรอื่น ๆ ทั้งหมด:
x.slice(0, 1);
var str="stack overflow";
firstChar = str.charAt(0);
secondChar = str.charAt(1);
การทดสอบในIE6 + , FF , Chrome , Safari
indexOfใช้งานไม่ได้ใน IE8 และนั่นค่อนข้างสำคัญสำหรับฉัน ที่จริงฉันเริ่มเข้ากันได้กับ google charAt จนกระทั่งฉันเห็นคำตอบนี้ลงไปที่นี่
ลองสิ่งนี้เช่นกัน:
x.substr(0, 1);
x.substring(0,1)
substring(start, end) แยกอักขระจากสตริงระหว่างดัชนีทั้งสอง "เริ่มต้น" และ "สิ้นสุด" ไม่รวมถึง "สิ้นสุด" ตัวเอง
ดูเหมือนว่าฉันจะไปงานปาร์ตี้ช้า แต่ลองใช้วิธีแก้ปัญหาด้านล่างซึ่งฉันพบวิธีแก้ปัญหาที่ดีที่สุด:
var x = "testing sub string"
alert(x[0]);
alert(x[1]);
ผลลัพธ์ควรแสดงการแจ้งเตือนด้วยค่าด้านล่าง: "t" "e"
ใน JQuery คุณสามารถใช้: ในชั้นเรียนสำหรับตัวเลือกที่เลือก:
$('.className').each(function(){
className.push($("option:selected",this).val().substr(1));
});
ในชั้นเรียนสำหรับค่าข้อความ:
$('.className').each(function(){
className.push($(this).val().substr(1));
});
ใน ID สำหรับค่าข้อความ:
$("#id").val().substr(1)
ใน Nodejs คุณสามารถใช้ Buffer:
let str = "hello world"
let buffer = Buffer.alloc(2, str) // replace 2 by 1 for the first char
console.log(buffer.toString('utf-8')) // display he
console.log(buffer.toString('utf-8').length) // display 2
var string = "Hello World";
console.log(charAt(0));
charAt (0) เป็นวิธี JavaScript มันจะคืนค่าตามดัชนีที่นี่ 0 เป็นดัชนีสำหรับตัวอักษรตัวแรก