>  기사  >  웹 프론트엔드  >  JavaScript 배열-문자열-수학 함수

JavaScript 배열-문자열-수학 함수

php中世界最好的语言
php中世界最好的语言원래의
2018-03-08 15:24:291742검색

이번에는 JavaScript 배열-문자열-수학 함수, JavaScript배열-문자열-수학 함수 사용 시 주의사항은 무엇인가요? 실제 사례를 살펴보겠습니다.

배열 방법에서 push, pop, Shift, unshift, Join 및 Split의 기능은 무엇인가요?
push() 메서드는 배열 끝에 하나 이상의 요소를 추가하고 배열의 새 길이(길이 속성 값)를 반환합니다.
pop() 메서드는 배열의 마지막 요소를 삭제하고 이 요소를 반환합니다.
shift() 메서드는 배열의 첫 번째 요소를 삭제하고 이 요소를 반환합니다. 이 메서드는 배열의 길이를 변경합니다.
unshift() 메서드는 배열의 시작 부분에 하나 이상의 요소를 추가하고 배열의 새 길이 값을 반환합니다.
join() 메서드는 배열의 모든 요소를 ​​문자열로 결합합니다.
**split() ** 메서드는 문자열을 하위 문자열로 분할하여 String 객체를 문자열 배열로 분할합니다.

코드 질문

Array

splice를 사용하여 push, pop, Shift 및 unshift 메서드 구현
정의 및 사용법
splice() 메서드는 배열 요소를 삽입, 삭제 또는 교체하는 데 사용됩니다.
Syntax

arrayObject.splice(index,howmany,element1,.....,elementX)

매개변수 설명
index 필수입니다. 요소를 추가/제거할 위치를 지정합니다. 이 매개변수는 삽입 및/또는 삭제를 시작할 배열 요소의 인덱스이며 숫자여야 합니다.
얼마나 필요합니다. 제거해야 하는 요소 수를 지정합니다. 숫자여야 하지만 "0"일 수 있습니다. 이 매개변수를 지정하지 않으면 인덱스부터 원래 배열의 끝까지 모든 요소가 삭제됩니다. 요소1은 선택사항입니다. 배열에 추가할 새 요소를 지정합니다. index가 가리키는 index부터 삽입을 시작한다.
elementX 선택사항. 여러 요소를 배열에 추가할 수 있습니다.
반환값
arrayObject에서 요소가 삭제되면 삭제된 요소가 포함된 배열이 반환됩니다.

splice->push
var a = [1,2,3,4,5]
var b = [1,2,3,4,5]
console.log(a);
console.log(b);
a.push(6);
b.splice(5,1,6);
console.log(a);
console.log(b);
splice->pop
var a = [1,2,3,4,5]
var b = [1,2,3,4,5]
console.log(a);
console.log(b);
a.pop();
b.splice(4,1);
console.log(a);
console.log(b);
splice->shift
var a = [1,2,3,4,5]
var b = [1,2,3,4,5]
console.log(a);
console.log(b);
a.shift();
b.splice(0,1);
console.log(a);
console.log(b);
splice->unshift
var a = [1,2,3,4,5]
var b = [1,2,3,4,5]
console.log(a);
console.log(b);
a.unshift(-1);
b.splice(0,0,-1);
console.log(a);
console.log(b);

배열을 사용하여 다음 문자열을 연결하세요

var prod = {    name: '女装',    styles: ['短款', '冬季', '春装']
};function getTpl(data){//todo...};var result = getTplStr(prod);  //result为下面的字符串
    <dl class="product">
        <dt>女装</dt>
        <dd>短款</dd>
        <dd>冬季</dd>
        <dd>春装</dd>
    </dl>

Code:

var prod = {
name: &#39;女装&#39;,
styles: [&#39;短款&#39;, &#39;冬季&#39;, &#39;春装&#39;]
};
function getTplStr(data){
var htmls = [];
htmls.push(&#39;<dl class="product">&#39;,&#39;<dt>&#39;+data,name+&#39;<dt>&#39;);
for(i=0;i<data.styles.length;i++){
htmls.push(&#39;<dd>&#39;+data.styles[i]+&#39;<dd>&#39;)
}
htmls.push(&#39;<dl>&#39;);
var htmls = htmls.join(&#39;&#39;)
return htmls
};
var result = getTplStr(prod);  //result为下面的字符串
console.log(result)

찾기 함수를 작성하여 다음 함수를 구현하세요

var arr = [ "test", 2, 1.5, false ]
find(arr, "test") // 0
find(arr, 2) // 1
find(arr, 0) // -1

Code:

var arr = [ "test", 2, 1.5, false ]
var find = function(a,b){
console.log(a.indexOf(b))
}
find(arr, "test") // 0
find(arr, 2) // 1
find(arr, 0) // -1

filterNumeric 함수를 작성하여 다음 함수를 구현하세요

arr = ["a", 1,3,5, "b", 2];
newarr = filterNumeric(arr);  //   [1,3,5,2]

코드:
방법 1:

arr = ["a", 1,3,5, "b", 2];
var filterNumberic = function(data){
var a = [];
for(i=0;i<data.length;i++){
if(typeof data[i] === &#39;number&#39;){
a.push(data[i]);
}
}
return a
}

newarr = filterNumberic(arr) // [1,3,5,2]
console.log(newarr)
방법 2:

arr = ["a", 1,3,5, "b", 2];
function isNumber(element) {
return typeof element === &#39;number&#39;;
}
var newarr = arr.filter(isNumber)
console.log(newarr)

객체 obj는 className 속성 내부의 값은 공백으로 구분된 문자열입니다(html 요소의 class 속성과 유사). 다음 기능을 포함하는 addClass 및 RemoveClass 함수를 작성하세요.

var obj = {className: &#39;open menu&#39;}addClass(obj, &#39;new&#39;) // obj.className=&#39;open menu new&#39;addClass(obj, &#39;open&#39;)  // 因为open已经存在,此操作无任何办法addClass(obj, &#39;me&#39;) // obj.className=&#39;open menu new me&#39;console.log(obj.className)  // "open menu new me"
 removeClass(obj, &#39;open&#39;) // obj.className=&#39;menu new me&#39;  removeClass(obj, &#39;blabla&#39;)  // 不变

Code:

var obj = {className: &#39;open menu&#39;}var addClass = function(a,b){var name = a.className.split(" ");if(name.indexOf(b) === -1) {name.push(b);}else{console.log("因为"+b+"已经存在,此操作无任何办法");}a.className = name.join(" ");console.log(&#39;obj.className=&#39;+a.className);}var removeClass = function(a,b){var name = a.className.split(" ");if(name.indexOf(b) !== -1){name.splice(name.indexOf(b),1)a.className = name.join(" ");console.log(&#39;obj.className=&#39;+a.className)}else{console.log(&#39;不变&#39;)}}
   addClass(obj, &#39;new&#39;) // obj.className=&#39;open menu new&#39;    addClass(obj, &#39;open&#39;)  // 因为open已经存在,此操作无任何办法    addClass(obj, &#39;me&#39;) // obj.className=&#39;open menu new me&#39;    console.log(obj.className)  // "open menu new me"    removeClass(obj, &#39;open&#39;) // obj.className=&#39;menu new me&#39;    removeClass(obj, &#39;blabla&#39;)  // 不变

Write a my-를 넣는 camelize 함수 short-string 형태의 문자열은 myShortString 형태의 문자열로 변환됩니다. 예:

camelize("background-color") == &#39;backgroundColor&#39;
camelize("list-style-image") == &#39;listStyleImage&#39;

Code:

function camelize(string){
return string.replace(/-/g,'')
}
console.log(camelize("background-color"))
camelize("background-color") == &#39;backgroundColor&#39;
camelize("list-style-image") == &#39;listStyleImage&#39;

다음 코드는 무엇을 출력합니까? 왜요?

arr = ["a", "b"];
arr.push( function() { alert(console.log(&#39;hello hunger valley&#39;)) } );
arrarr.length-1  // ?

왜냐하면 arr.push( function() { Alert(console.log('hellohungervalley')) } ) push function() {alert(console.log('hellohungervalley')); arr[], arr[arr.length-1]()의 마지막 숫자는 배열의 마지막 숫자를 취한 다음 즉시 함수를 실행합니다. Valley')) 로그는 콘솔에서만 열 수 있으므로 결과는 정의되지 않습니다.

filterNumericInPlace 함수를 작성하여 배열의 숫자를 필터링하고 숫자가 아닌 항목을 삭제하세요

arr = ["a", 1,3,4,5, "b", 2];
//对原数组进行操作,不需要返回值
filterNumericInPlace(arr);
console.log(arr)  // [1,3,4,5,2]

코드:

arr = ["a","d", 1,3,4,5, "b", 2];
//对原数组进行操作,不需要返回值
function filterNumericInPlace(data){
for(i=0;i<data.length;i++){
if(typeof data[i] === &#39;string&#39;){
data.splice(i,1);
i--;//splice指针减少1,否则获取不了数组中全部元素。
}
}
}
filterNumericInPlace(arr);
console.log(arr)  // [1,3,4,5,2]

ageSort 함수를 작성하여 다음 함수를 구현하세요.

var john = { name: "John Smith", age: 23 }
var mary = { name: "Mary Key", age: 18 }
var bob = { name: "Bob-small", age: 6 }
var people = [ john, mary, bob ]
ageSort(people) // [ bob, mary, john ]

Code:
방법 1:

function ageSort(arr){
arr.sort(function(a,b){return a.age-b.age})
return arr
}
var john = { name: "John Smith", age: 23 }
var mary = { name: "Mary Key", age: 18 }
var bob = { name: "Bob-small", age: 6 }
var people = [ john, mary, bob ]
ageSort(people) // [ bob, mary, john ]
console.log(ageSort(people))

방법 2:

function ageSort(a){
for(i=0;i0){
var b = a[i];
a[i] = a[j];
a[j] = b;
}
}
}
return a
}
var john = { name: "John Smith", age: 23 }
var mary = { name: "Mary Key", age: 18 }
var bob = { name: "Bob-small", age: 6 }
var people = [ john, mary, bob ]
ageSort(people) // [ bob, mary, john ]
console.log(ageSort(people))

필터(arr, func) 함수를 작성하여 배열을 필터링하고 두 개의 매개변수를 받습니다. 첫 번째는 처리할 배열이고, 두 번째는 콜백 함수입니다(콜백 함수는 각 배열 요소를 순회하여 받아들이고, 함수가 true를 반환할 때 요소를 유지하고, 그렇지 않으면 다음을 구현합니다). 함수:

function isNumeric (el){return typeof el === &#39;number&#39;;}arr = ["a",3,4,true, -1, 2, "b"]
 arr = filter(arr, isNumeric) ; // arr = [3,4,-1, 2],  过滤出数字  arr = filter(arr, function(val) { return val > 0 });  // arr = [2] 过滤出大于0的整数

Code:

function filter(data,callback){return data.filter(callback)}
   function isNumeric (el){        return typeof el === &#39;number&#39;;     }    arr = ["a",3,4,true, -1, 2, "b"]    arr = filter(arr, isNumeric) ; // arr = [3,4,-1, 2],  过滤出数字    console.log(arr)    arr = filter(arr, function(val) { return val > 0 });  // arr = [2] 过滤出大于0的整数    console.log(arr)

String

Write. 첫 글자가 대문자인 문자를 반환하는 ucFirst 함수

ucFirst("hunger") == "Hunger"

Code:

function ucFirst(string){
return string[0].toUpperCase()+string.slice(1);
}
console.log(ucFirst("hunger"))
ucFirst("hunger") == "Hunger"

함수 truncate(str, maxlength)를 작성합니다. str의 길이가 maxlength보다 큰 경우 str은 maxlength로 잘리고 다음과 같이 추가됩니다.

truncate("hello, this is hunger valley,", 10)) == "hello, thi...";
truncate("hello world", 20)) == "hello world"

Code:

function truncate(str,maxlength){
if(str.length>maxlength){
var sub = str.substring(maxlength)
str =  str.replace(sub,&#39;...&#39;);
} return str;
}
console.log(truncate("hello, this is hunger valley,", 10));
truncate("hello, this is hunger valley,", 10) == "hello, thi...";
truncate("hello world", 20) == "hello world"

Mathematical function

함수 제한 쓰기2, 숫자를 2로 유지 소수점 이하 자릿수, 예:

var num1 = 3.456
limit2( num1 );  //3.46
limit2( 2.42 );    //2.42

Code:

var num1 = 3.456
function limit2(data){
var num = Math.round(data*100);
return num/100
}
limit2( num1 );  //3.46
limit2( 2.42 );    //2.42
console.log(limit2(num1));
console.log(limit2(2.42));
console.log(limit2(-1.15555555))

최소값을 포함하고 최대값을 제외한 최소값에서 최대값까지 임의의 숫자를 가져오는 함수를 작성하세요.
Code:

function fun(min,max){
return min+Math.random()*(max-min)
}
console.log(fun(5,10))

min과 max를 포함한 임의의 정수입니다.
코드:

function fun(min,max){
return Math.Round(min+Math.random()*(max-min))
}
console.log(fun(5,10))

배열의 요소는 길이가 len, 최소값이 min인 난수입니다. 최대값(포함)
코드:

function fun(min,max,leng){
var arr = []
for(i=0;i<leng;i++){
var value = max-Math.random()*(max-min)
arr.push(value)
}
return arr
}
console.log(fun(5,10,6))

이 기사의 사례를 읽었을 것입니다. 방법을 익힌 후 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주의 깊게 살펴보시기 바랍니다! 읽기:

JS 폐쇄 및 타이머


JS Dom 및 이벤트 요약

위 내용은 JavaScript 배열-문자열-수학 함수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.