29 Haziran 2020 Pazartesi

String Sınıfı

Giriş
String diğer Primitive tipler gibi immutable bir  sınıftır. Tek tırnak ile kullanılır.

big Alanı
Bu alan artık deprecate ediliyor. String döner.
Örnek
Elimizde number ve string içeren bir liste olsun. Number'ları öne string'leri arkaya sıralamak için şöyle yaparız.
a=>a.sort((a,b)=>!b.big-!a.big)
Açıklaması şöyle.
The deprecated but still widely supported method .big() is defined for Strings and undefined for Numbers. Hence the sorting criterion !b.big-!a.big which is either −1, 0 or 1.
join metodu
Şöyle yaparız. Çıktı olarakSSS_1111_abc_545454_xxxxxxxx_66661111111_XXXXX alırız.
const str = "SSS1111abc545454xxxxxxxx66661111111XXXXX";

const separator = '_'
const result = str.match(/[a-z]+|\d+/ig).join(separator);
length Alanı
Bir string'in bir başkası ile bittiğini anlamak için şöyle yaparız.
function confirmEnding(str, target) {
  const subtractLengths = str.length - target.length;
  const lastIndexOfString = str.lastIndexOf(target);
  return lastIndexOfString === subtractLengths;
}
raw metodu
raw veya verbatim string verir.
Örnek
Şöyle yaparız.
var str = String.raw`text\n abc`;
replace metodu
Örnek - /searcpattern/g
Elimizde şöyle bir kod olsun. Çıktı olarak "xx" alırız. Burada sadece x çıkmasını bekliyor olabiliriz.
console.log("asdf".replace(/.*/g, "x"));
Açıklaması şöyle. Önce her şeyi bulur ve x koyar. Daha sonra geriye boş string kalır. ".*" boş string ile eşleştiği için bir kere daha x ilave edilir ve neticede "xx" çıktısını alırız.
Because of the global (g) flag. The global flag allows for another search to start at the end of the previous match, thus finding an empty string
Açıklaması şöyle.
Remember that * matches zero or more elements.
Örnek
Regex kullanmak için şöyle yaparız.
str = 'okok{"msg":"uc_okok"}';
console.log(str.replace(/.*?({.*}).*/, "$1"));
Çıktı olarak şunu alırız.
{"msg":"uc_okok"}
toLowercase metodu
Şöyle yaparız.
document.write(('...').toLowerCase());
split metodu
Örnek
String'i tersine çevirmek için şöyle yaparız. split('') String nesnesini Character dizisine çevirir.
const reverse = function(inputNum) {
    const result = Math.sign(inputNum) * String(Math.abs(inputNum))
      .split('')
      .reverse()
      .join('');
    return result < -2147483648 || result > 2147483647 ? 0 : result;
};
console.log(reverse(-321));
console.log(reverse(1534236469));
Örnek
String'i tersine çevirmek için şöyle yaparız. split('') String nesnesini Character dizisine çevirir.
var to_reverse = ...;
var reversed = to_reverse.split('').reverse().join('');

Hiç yorum yok:

Yorum Gönder