Jadvaldagi qator elementlarning har bir nusxasi uchun

Men qatordagi hamma qator elementlarni tekshirishga harakat qilaman. Misol;

var string = "aa bb ccc";
var array = ["a", "b", "c"];

Bu mening kodimni 7 marta bajarishi kerak - har bir qator elementning har bir nusxasi uchun bir marta. Buni izohlash qiyin, ammo umid qilamanki, bu misol yetarli.

Yana bir izoh - kod misoli;

$.each(ArrayItem in string) {
    //execute code
}

Men bu haqda boshimni ko'tarolmayapman va uzoqdan istaganim bilan ishlaydigan hech narsa topolmadim.

Tartibga solish

Buning uchun har bir harf uchun narxni qo'shish uchun foydalanmoqchiman - "a, b, c, d, e, f, g" narxlari 1 dollar, qolganlari esa $ 2 turadi - satrimda yuqoridagi buyumlar va narxni hisoblash.

1
string sizning kirishingizdir va siz array kerak?
qo'shib qo'ydi muallif Weedoze, manba
Ha, @Weedoze, mag'lubiyatga kirish maydoni va qatorda men tekshirmoqchi bo'lgan elementlar mavjud.
qo'shib qo'ydi muallif Albert MN., manba
Yo'q, bunday emas
qo'shib qo'ydi muallif Albert MN., manba
makon bilan nima qilasiz? u hisoblanadimi? qandaydir qiymat uchun?
qo'shib qo'ydi muallif Nina Scholz, manba
REGEXga qarashga harakat qildingizmi? Bu siz qilmoqchi bo'lganingizdan 1000 marta tezroq bo'ladi.
qo'shib qo'ydi muallif Akshay Khandelwal, manba

6 javoblar

Ichida for-loop ichida + exec qator elementlaridan foydalanishingiz mumkin:

<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"> <div class="snippet-code">

var string = "aa bb ass ccc ass"
var array = ["ass", "b", "c"]

var m

array.forEach(function(item) {
  var reg = RegExp(item, 'g')
  while ((m = reg.exec(string)) !== null) {
    console.log('match', m[0])
  }
})
</div> </div>
2
qo'shib qo'ydi
@evolutionxbox Keyin qatordan a ham string dan ga oshdi da hisoblanadi. Bunday holatda OP qanday kutish mumkinligi aniq emas.
qo'shib qo'ydi muallif dfsq, manba
Ha, bu juda yaxshi. +1
qo'shib qo'ydi muallif kind user, manba
Agar qatorda a bo'lsa-chi?
qo'shib qo'ydi muallif evolutionxbox, manba

string operatori yordamida string kodini ajratib oling va uni array qatoridan biron bir elementni tekshirish uchun tekshiring.

<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"> <div class="snippet-code">

var string = "aa bb ccc";
var array = ["a", "b", "c"];

[...string].forEach(v => array.some(function(c){
  if (c == v) {
    console.log('code executed');
  }
}));
</div> </div>
1
qo'shib qo'ydi
Buning hisobini qanday qilib olaman? Men ushbu kodni doimo boshqarib turardim va faqatgina ularning barchasini bir marta bajarishni istayman, uning ishlarini bajaring, keyin esa kirish o'zgarganicha ishlamang.
qo'shib qo'ydi muallif Albert MN., manba
Yo'q, ishonchli emas. Siz bu mag'lubiyatga xos xususiyatlardan iborat deb hisoblagansiz, lekin OP "strings" degan ma'noni anglatadi.
qo'shib qo'ydi muallif dfsq, manba
Misol uchun: var string = "ass bb ccc"; 6 kod so'rovi bo'lishi kerak, lekin sizning versiyaingiz faqat 5 kod beradi, chunki ass topilmaydi.
qo'shib qo'ydi muallif dfsq, manba
Albatta, qaraylik. Lekin siz hozirgi vaqtda qilayotganingiz kabi belgi bilan ajralib turolmaysiz. Mumkin bo'lgan yondashuv uchun javobimni tekshiring. Menimcha, regexp tomonidan ajratishga harakat qilishingiz mumkin.
qo'shib qo'ydi muallif dfsq, manba
Bundan tashqari, v => array.includes (v) && process (v) dan foydalanishingiz mumkin
qo'shib qo'ydi muallif Rajesh, manba
@dfsq Hold onga qaraydi.
qo'shib qo'ydi muallif kind user, manba
@dfsq Menga bir necha misol keltira olasizmi?
qo'shib qo'ydi muallif kind user, manba
@dfsq tilingizni eslang! : D
qo'shib qo'ydi muallif ibrahim mahrir, manba

Agar ob'ektdan foydalansangiz va harflarning ko'rinishini hisoblashingiz mumkin. Keyinchalik, siz turli qimmatbaho qadriyatlar bilan bo'lishishingiz mumkin.

<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"> <div class="snippet-code">

var string = "aa bb ccc xyz",
    array = ["a", "b", "c"],
    count = Object.create(null);

string.split('').forEach(function (a) {
    if (a !== ' ') {
        count[a] = (count[a] || 0) + 1;
    }
});

Object.keys(count).forEach(function (k) {
    if (array.indexOf(k) !== -1) {
        console.log('found ' + k + ' of array: ' + count[k] + ' times');
    } else {
        console.log('found ' + k + ': ' + count[k] + ' times');
    }
});
</div> </div>
0
qo'shib qo'ydi
Yangilandi, @NinaScholz, lekin men misolimni imkon qadar yaxshi tushuntirdim. Men buni qanday ishlatishni istasam, qisqacha tavsifni qo'shib qo'ydim.
qo'shib qo'ydi muallif Albert MN., manba
Gotcha, @NinaScholz ularni qo'shib qo'ydi
qo'shib qo'ydi muallif Albert MN., manba
Yo'q, va kod snippet ham faqat bitta konsolni jurnalini chiqazdi.
qo'shib qo'ydi muallif Albert MN., manba
Men OP so'ragan savolga javob bermaysiz deb o'ylamayman.
qo'shib qo'ydi muallif dfsq, manba
@versen, ehtimol undan foydalanishning aniq namunasi va operatsiyani bajarish istagi paydo bo'lishi mumkin.
qo'shib qo'ydi muallif Nina Scholz, manba
@versen, iltimos, va qatoriga qo'shimcha natijalar qo'shing.
qo'shib qo'ydi muallif Nina Scholz, manba
bo'lishi mumkin, kim biladi.
qo'shib qo'ydi muallif Nina Scholz, manba

Use split method with " " parameter. https://www.w3schools.com/jsref/jsref_split.asp

var string = "aa bb ccc",
    array = string.split(" ");

Or you can also used lodash: https://lodash.com/docs/4.17.4#split

0
qo'shib qo'ydi

Bir qator pastki satrlarni olish uchun '' orqali stringni ajratishingiz kerak va keyin forEach yoki $ dan har dan foydalaning. :

Spliting:

var strings = string.split(' ');

yoki yanada samaraliroq:

var strings = string.trim()        //remove sorrounding spaces
                    .split(/\s+/); //split by any number of spaces

forEach yordamida pastadir:

strings.forEach(function(str) {
   //use str
});

$ har biri yordamida pastadir:

$.each(strings, function(i, str) {
   //use str
});
0
qo'shib qo'ydi

Bu funksiya ishingizni bajaradi

    function checkString(a){
    for(i=0;i -1) {
                //this line executes 7 times if the string a has 7 characters;
            } 
            }
        }

    }
0
qo'shib qo'ydi
Javascript UZB
Javascript UZB
99 ishtirokchilar

@js_uzb @vuejs_uz @react_uz @nodejs_uz @angular_uz @ngTashkent @yiiframework_uz @laravel_uz @linux_uzbek @python_uz @swift_uzb —————— @uzdevgroup @UzGeeksGroup ——— @UzDev_Jobs @jobs_uzb