Maison > interface Web > js tutoriel > le corps du texte

Encapsulation des méthodes js couramment utilisées lors du développement (résumé)

青灯夜游
Libérer: 2018-10-11 15:45:46
avant
1846 Les gens l'ont consulté

Cet article vous présentera la méthode d'encapsulation js couramment utilisée lors du développement. Elle a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

1. Déterminez s'il s'agit d'un tableau

function isArray(arr){
return Object.prototype.toString.call(arr) ==='[object Array]';
}
 
isArray([1,2,3]) //true
Copier après la connexion

2. Déterminez s'il s'agit d'une fonction (trois types)

function isFunction(fn) {
return Object.prototype.toString.call(fn) ==='[object Function]';
return fn.constructor == Function;
return fn instanceof Function;
return typeof (fn) == Function;
}
Copier après la connexion

3. Déduplication du tableau, considérez uniquement les éléments du tableau comme des nombres ou des chaînes

function newarr(arr){
var arrs = [];
for(var i =0;i<arr.length;i++){
if(arrs.indexOf(arr[i])== -1){
arrs.push(arr[i])
}
}
return arrs;
}
Copier après la connexion

4. >

var arr = [1,2, 3, 4];
function add() {
var newarr = [];
$(&#39;.addEle&#39;).click(() => {
var rnd = Math.ceil(Math.random() * 10);
newarr.push(rnd)
for (var i =0; i < newarr.length; i++) {
if (arr.indexOf(newarr[i]) == -1) {
arr.push(newarr[i])
arr.sort(function (a, b) {
return b - a //降序
});
}
}
console.log(arr)//[1,2,3,4,5,6,7,8,9]
})
}
add()
Copier après la connexion
5. Supprimez les espaces de chaîne (y compris trois situations)

function trim(str) {
return str.replace(/^[" "||" "]*/,"").replace(/[" "|" "]*$/,"");// 去除头和尾
return str.replace(/\s/g,&#39;&#39;);//去除所有空格
return str.replace(/(\s*$)/g,"");//去除右边所有空格
}
Copier après la connexion
6. Déterminez s'il s'agit d'une adresse e-mail

function isEmail(emailStr) {
var reg = /^[a-zA-Z0-9]+([._-]*[a-zA-Z0-9]*)*@[a-zA-Z0-9]+.[a-zA-Z0-9{2,5}$]/;
var result = reg.test(emailStr);
if (result) {
alert("ok");
} else {
alert("error");
}
}
Copier après la connexion
7. Déterminer s'il s'agit d'un numéro de téléphone portable

function isMobilePhone(phone) {
var reg = /^1\d{10}$/;
if (reg.test(phone)) {
alert(&#39;ok&#39;);
} else {
alert(&#39;error&#39;);
}
}
Copier après la connexion
Obtenir le numéro du premier élément d'un objet

function getObjectLength(obj){
var i=0;
for( var attrin obj){
if(obj.hasOwnProperty(attr)){
i++;
}
}
console.log(i);
}
var obj = {name:&#39;kob&#39;,age:20};
getObjectLength(obj) //2
Copier après la connexion
9. Obtenez la position de l'élément par rapport à la fenêtre du navigateur et renvoyez un objet {x,y}

function getPosition(element) {
var offsety = 0;
offsety += element.offsetTop;
var offsetx = 0;
offsetx += element.offsetLeft;
if (element.offsetParent != null) {
getPosition(element.offsetParent);
}
return { Left: offsetx, Top: offsety };
} 
Copier après la connexion
10. Déterminer si une lettre est dans une chaîne Le nombre d'occurrences dans

var str = &#39;To be, or not to be, that is the question.&#39;;
var count = 0;
var pos = str.indexOf(&#39;e&#39;);
while (pos !== -1) {
count++;
pos = str.indexOf(&#39;e&#39;, pos + 1);
}
console.log(count) //4
Copier après la connexion
11 Calculer l'élément avec le plus d'occurrences dans le tableau

<. 🎜>

12. Filtre de tableau (fonction de recherche)
var arrayObj = [1,1, 2, 3, 3, 3,4, 5, 5];
var tepm = &#39;&#39;,count =0;
var newarr = new Array();
for(var i=0;i<arrayObj.length;i++){
if (arrayObj[i] != -1) {
temp = arrayObj[i];
}
for(var j=0;j<arrayObj.length;j++){
if (temp == arrayObj[j]) {
count++;
arrayObj[j] = -1;
}
}
newarr.push(temp + ":" + count);
count = 0;
}
for(var i=0;i<newarr.length;i++){
  console.log(newarr[i]);
}
Copier après la connexion

13. Copier l'objet (premier type)
var fruits = [&#39;apple&#39;,&#39;banana&#39;, &#39;grapes&#39;,&#39;mango&#39;, &#39;orange&#39;];
function filterItems(query) {
return fruits.filter(function(el) {
return el.toLowerCase().indexOf(query.toLowerCase()) > -1;
})
}

console.log(filterItems(&#39;ap&#39;)); // [&#39;apple&#39;, &#39;grapes&#39;]
Copier après la connexion

14. Clonage profond
//第一种
var cloneObj =function(obj) {
var newObj = {};
if (obj instanceof Array) {
newObj = [];
}
for (var keyin obj) {
var val = obj[key];
newObj[key] = typeof val === &#39;object&#39; ? cloneObj(val) : val;
}
return newObj;
};
//第二种
function clone(origin , target){
var target = target || {};
for(var propin origin){
target[prop] = origin[prop];
}
return target;
} 
Copier après la connexion

15. Trouver la valeur maximale et minimale du tableau
var newObj ={};
function deepClone(origin,target){
var target = target || {},
toStr = Object.prototype.toString,
arrStr = "[object Array]";

for(var propin origin){
if(origin.hasOwnProperty(prop)){
if(origin[prop] != "null" && typeof(origin[prop]) == &#39;object&#39;){//判断原型链
target[prop] = (toStr.call(origin[prop]) == arrStr) ? [] : {}//判断obj的key是否是数组
deepClone(origin[prop],target[prop]);//递归的方式
}else{
target[prop] = origin[prop];
}
}
}
return target

}

deepClone(obj,newObj);
console.log(newObj)
Copier après la connexion

16. tableau json
Array.prototype.max = function(){
return Math.max.apply({},this)
}
 
Array.prototype.min = function(){
return Math.min.apply({},this)
}
 
console.log([1,5,2].max())
Copier après la connexion

17. Comparez deux tableaux et supprimez l'intersection
function UniquePay(paylist){
var payArr = [paylist[0]];
for(var i =1; i < paylist.length; i++){
var payItem = paylist[i];
var repeat = false;
for (var j =0; j < payArr.length; j++) {
if (payItem.name == payArr[j].name) {
repeat = true;
break;
}
}
if (!repeat) {
payArr.push(payItem);
}
}
return payArr;
} 
Copier après la connexion

18. Supprimer l'objet dont la clé est la même que l'élément du tableau
Array.intersect = function () {
var result = new Array();
var obj = {};
for (var i =0; i < arguments.length; i++) {
for (var j =0; j < arguments[i].length; j++) {
var str = arguments[i][j];
if (!obj[str]) {
obj[str] = 1;
}
else {
obj[str]++;
if (obj[str] == arguments.length)
{
result.push(str);
}
}//end else
}//end for j
}//end for i
return result;
}
console.log(Array.intersect(["1","2", "3"], ["2","3", "4", "5", "6"]))
Copier après la connexion

19. Supprimer un élément du tableau
var arr = [&#39;F00006&#39;,&#39;F00007&#39;,&#39;F00008&#39;];
var obj = {&#39;F00006&#39;:[{&#39;id&#39;:21}],&#39;F00007&#39;:[{&#39;id&#39;:11}]}
var newobj = {};
for(var itemin obj){
if(arr.includes(item)){
newobj[item] = obj[item]
}
}
console.log(newObj)
Copier après la connexion

20. Jugement Si le tableau contient un certain élément
//第一种
Array.prototype.remove = function(val){
var index = this.indexOf(val);
if(index !=0){
this.splice(index,1)
}
}
[1,3,4].remove(3)
//第二种
function remove(arr, indx) {
for (var i =0; i < arr.length; i++) {
var index = arr.indexOf(arr[i]);
if (indx == index) {
arr.splice(index, 1)
}
}
return arr
}
Copier après la connexion

Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'apprentissage de chacun. Pour plus de didacticiels connexes, veuillez visiter le

Tutoriel vidéo JavaScript
Array.prototype.contains = function (val) {
for (var i =0; i < this.length; i++) {
if (this[i] == val) {
return true;
}
}
return false;
};

[1, 2,3, 4].contains(2)//true
Copier après la connexion
 !

Recommandations associées :

Tutoriel vidéo de formation sur le bien-être public php

Tutoriel graphique JavaScript

Manuel JavaScript en ligne

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal