ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: how to find multiple position # javascript  (อ่าน 443 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
BOS
ก๊วนเสียว
*

พลังน้ำใจ: 33
ออฟไลน์ ออฟไลน์

กระทู้: 459



ดูรายละเอียด เว็บไซต์
« เมื่อ: 27 มกราคม 2017, 01:30:02 »

ไม่รู้จะตั้งคำถามยังไงดี ใช้คำไม่ถูกครับ งั้นดูจากโค้ดเลยนะครับผม


<script>
          var str = "A ABC B       BB   A        CDE     DE     ABC     CDE";
          var arr = str.split(/sบวก/);

          var pos = 0;
          for ( var i = 0; i < arr.length; iบวกบวก    ){
                    pos = str.indexOf( arr[ i ], ( pos > i ? pos บวก arr[ i ].length : pos) );
                    console.log(pos);
                    // ค่าที่ได้      [0,2,3,14,19,28,36,43,51]
                    // ค่าที่ถูกต้อง [0,2,6,14,19,28,36,43,51]
          }
</script>

ทำไมมันใส่เครื่องหมายบวกไม่ได้เนี่ย  Sad

ค่า pos ที่ได้มันยังไม่ตรงทั้งหมดอ่ะครับ
ท่านใดพอมีวิธีที่จะได้ค่า pos แบบแม่นยำไหมครับ
แนะนำด้วยครับ ผมงมๆมั่วๆมาหลายวันละ แต่ยังไม่ได้เลยครับผม  Cry
« แก้ไขครั้งสุดท้าย: 16 เมษายน 2018, 01:09:08 โดย BOS » บันทึกการเข้า

ten1312
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 67
ออฟไลน์ ออฟไลน์

กระทู้: 1,486



ดูรายละเอียด
« ตอบ #1 เมื่อ: 27 มกราคม 2017, 03:55:01 »

ลองดูครับ

โค๊ด:
<script>
          var str = "A ABC B       BB   A        CDE     DE     ABC     CDE";
          var arr = str.split(/s /);

          var pos = 0;
          for ( var i = 0; i < arr.length; i      ){
                    pos = str.indexOf( arr[ i ], (  i >1? pos   arr[ i ].length 1 : pos) );
                    console.log(pos);
                    // ค่าที่ได้      [0,2,3,14,19,28,36,43,51]
                    // ค่าที่ถูกต้อง [0,2,6,14,19,28,36,43,51]
          }
</script>
บันทึกการเข้า

บันทึกการเรียนเขียน Program
Java :2 พย. 2559 - 19 พย. 2559 หยุดไว้ก่อน
PHP SQL HTML CSS Bootstrap : 25 พย. 2559 - ปัจจุบัน
Javascript jQuery Ajax Angular JS : เรียนผ่านๆยังไม่จริงจัง

นานาเกษตร
BOS
ก๊วนเสียว
*

พลังน้ำใจ: 33
ออฟไลน์ ออฟไลน์

กระทู้: 459



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 27 มกราคม 2017, 14:40:00 »

ลองดูครับ

โค๊ด:
<script>
          var str = "A ABC B       BB   A        CDE     DE     ABC     CDE";
          var arr = str.split(/s /);

          var pos = 0;
          for ( var i = 0; i < arr.length; i      ){
                    pos = str.indexOf( arr[ i ], (  i >1? pos   arr[ i ].length 1 : pos) );
                    console.log(pos);
                    // ค่าที่ได้      [0,2,3,14,19,28,36,43,51]
                    // ค่าที่ถูกต้อง [0,2,6,14,19,28,36,43,51]
          }
</script>

แหล่มเลย ขอบคุณมากมายนะครับผม  wanwan011
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์