原始資料型別 symbol ,表示獨一無二的值,最大的用法是用來定義物件的唯一屬性名
let sy = symbol("key1");
// 寫法1
let syobject = {};
syobject[sy] = "kk";
console.log(syobject); //
// 寫法2
let syobject = ;
console.log(syobject); //
// 寫法3
let syobject = {};
object.defineproperty(syobject, sy, );
console.log(syobject); //
常見的用法在 es5 使用字串表示常量,但是用字串不能保證常量是獨特的,使用 symbol 定義常量,這樣就可以保證這一組常量的值都不相等
const color_red = symbol("red");
const color_yellow = symbol("yellow");
const color_blue = symbol("blue");
function getconstantname(color)
}
function
recursion
(argc)})
}return argc;
}
var arr1 =[1
,2,3
,4,5
];var arr2 =[3
,12,34
,55,6
,1];
console.
log(arr1.
filter
((item =>))
);// 陣列去重
var arr1 =[12
,66,4
,88,3
,7,12
,66,23
,23,2
,12,,
3,3,
2,9]
;var newarr =
;arr1.
filter
(function
(item, index)})
;
一般的基本資料用』='號就可以複製,但函式,陣列,物件這些引用型別的資料不行使用 json.parse(json.stringify(arr1)) 如果陣列的值中有函式型別則不能使用
不斷的判斷當前value是不是object物件,遞迴呼叫
var
timeget
=function()
var arr =[1
,2,3
,4,5
,'jack'
,true
, timeget]
;function
deepclone
(source)
var target =
(source.constructor === array)?[
]:;for
(var keys in source)
target[keys]
=deepclone
(source[keys])}
else}}
return target;
}var deeparr =
deepclone
(arr)
;deeparr[2]
=console.
log(arr, deeparr)
;
map/filter/foreach/every/some
map返回 每次函式呼叫返回的結果 組成的陣列
filter返回 該函式 會返回true的項 組成的陣列
foreach 無返回值
every 陣列所有項都返回true 則返回true,類似&& 一旦有乙個不符合條件,則停止迭代
some 函式對陣列裡面有一項返回true 則返回true,類似|| 不停的迭代找符合條件的值,一旦找到,則停止迭代
var arr =[1
,2,3
,4,5
];console.
log(arr.
map(
(item,index,arr)
=>))
;//返回[false,false,true,true,true]
console.
log(arr.
filter
(function
(item,index,arr)))
;// 返回 [3,4,5]
console.
log(arr.
foreach
(function
(item,index,arr)))
;// foreach無返回值
console.
log(arr.
every
((item,index,arr)
=>))
;// 返回false, 列印一遍every:
console.
log(arr.
some
((item, index, arr)
=>))
;// 返回true,列印3遍some:
js陣列常見操作
var arr new array 1 新增元素 arr.push a arr.push b arr.push c 乙個引數 arr.push d e 二個引數 arr.push f g 引數為陣列 2 刪除元素 1 刪除元素方式一 arr.splice 陣列下標,刪除個數 陣列下標從0開始 刪除個...
js 常見演算法操作
字串操作 判斷回文字串12 3456 78910 1112 1314 functionpalindrome str 翻轉字串 思路1 反向遍歷字串12 3456 functionreversestring str 思路2 轉化成array操作。12 3456 78910 1112 functionr...
JS常見陣列操作
1 indexof判斷乙個陣列中某乙個元素是否存在,如果不存在返回 1 let i it arr.indexof 4 1 2 push向陣列中新增元素 arr.push 100 3 splice從陣列中刪除一些元素,插入一些元素 引數1 刪除的開始的索引的位置 引數2 刪除的數量 開始索引是刪除的起...