JSON 格式的數(shù)據(jù)需要遵循什么規(guī)則
JavaScript Object Notation m 簡(jiǎn)稱"JSON",它使用JavaScript對(duì)象的格式來(lái)存儲(chǔ)數(shù)據(jù)越败。
1.復(fù)合類型的值只能是數(shù)組或?qū)ο螅荒苁呛瘮?shù)瘟栖、正則表達(dá)式對(duì)象葵擎、日期對(duì)象。
2.簡(jiǎn)單類型的值只有四種:字符串半哟、數(shù)值(必須以十進(jìn)制表示)酬滤、布爾值和null(不能使用NaN, Infinity, -Infinity和undefined)。
3.字符串必須使用雙引號(hào)表示寓涨,不能使用單引號(hào)盯串。
4.對(duì)象的鍵名必須放在雙引號(hào)里面。
5.數(shù)組或?qū)ο笞詈笠粋€(gè)成員的后面戒良,不能加逗號(hào)体捏。
使用 JSON 對(duì)象實(shí)現(xiàn)一個(gè)簡(jiǎn)單的深拷貝函數(shù)(deepCopy)
var obj = {
name: 'liqinan',
age: 24,
details: {
class : 14,
teacher : 'ruoyu'
}
}
var deepClone = JSON.parse(JSON.stringify(obj))
console.log(deepClone)
數(shù)組方法里push、pop、shift译打、unshift耗拓、join、splice分別是什么作用奏司?用 splice函數(shù)分別實(shí)現(xiàn)push乔询、pop、shift韵洋、unshift方法
- push(),在數(shù)組隊(duì)列最后增加一個(gè),
- pop() 把數(shù)組最后一個(gè)刪掉
- unshift() 在數(shù)組的第一位新增一個(gè)
- shirt() 移除數(shù)組第一個(gè)
- splice() 用于解決數(shù)組添加竿刁、刪除,替換等操作
1.參數(shù)1.開(kāi)始索引
2.參數(shù)2.刪除元素的位移
3.參數(shù)3.插入的新元素,當(dāng)然也可以寫(xiě)多個(gè) - join() 把數(shù)組元素使用參數(shù)作為連接符連接成一字符串搪缨,不會(huì)修改原數(shù)組內(nèi)容
var arr = [1,2,3,4,5,6]
arr.splice(6,1,7)
// console.log(arr) //[1, 2, 3, 4, 5, 6, 7]
arr.splice(5,1)
// console.log(arr) //[1, 2, 3, 4, 5]
arr.splice(0,0,0)
// console.log(arr) //[0, 1, 2, 3, 4, 5, 6]
arr.splice(0,1)
// console.log(arr) //[2, 3, 4, 5, 6]
寫(xiě)一個(gè)函數(shù)食拜,操作數(shù)組,數(shù)組中的每一項(xiàng)變?yōu)樵瓉?lái)的平方副编,在原數(shù)組上操作
function squareArr(arr){
for(var i = 0;i < arr.length;i++){
arr[i] = arr[i]*arr[i]
}
}
var arr = [2, 4, 6]
squareArr(arr)
console.log(arr) // [4, 16, 36]
.寫(xiě)一個(gè)函數(shù)负甸,操作數(shù)組,返回一個(gè)新數(shù)組痹届,新數(shù)組中只包含正數(shù)
function filterPositive(arr){
for(var i = 0; i < arr.length; i++){
if((typeof arr[i] !== "number") || (arr[i] < 0)){
arr.splice(i,1)
i--
}
}
}
var arr = [3, -1, 2, '饑人谷', true]
filterPositive(arr)
console.log(arr) //[3, 2]