let arr = [ { id: 1, name: 'aa', sex: 'man' }, { id: 2, name: 'bb', sex: 'woman' }, { id: 3, name: 'cc', sex: 'woman }, { id: 4, name: 'dd', sex: 'man' }]; let arr1 = arr.map(v => v.sex).filter((v, i, arr) => arr.indexOf(v) ==== i); // arr1 = ['man', 'woman']
let arr = Array(100).fill(0).map((x, i) => i + 1);
// 後臺數據: [{province: '河北省', value:12}, ...]; // 須要的格式(echarts 地圖數據格式):[{name: '河北', value: 12}]; // 改字段名 convertArrJsonName(json: {}[], oldName: string, newName: string = 'name') { return JSON.parse(JSON.stringify(json).replace(eval(`/${oldName}/g`), newName)); } // 改省份名 convertProvinceName(data: {}[]) { return JSON.parse(JSON.stringify(data).replace(eval(`/[省|市|自治區|壯族自治區|回族自治區|維吾爾自治區|特別行政區]/g`), ''));
在小程序中貌似不支持eval(),因此把正則提出來面試
// 改字段名 convertArrJsonName(json, oldName = 'province', newName = 'name') { let reg = new RegExp(oldName, 'ig'); return JSON.parse(JSON.stringify(json).replace(reg, newName)); }
+ 讀代碼 ` var arr1 = [1,2,3,4,5,6]; var arr2 = [1,2,3]; for(var i = 0; i < arr1.length; i++) { for(var i = 0; i < arr2.length; i++) { console.log('會出現死循環,由於裏面的循環會每次結束時都是2,再執行外面的++,知足外面的條件,繼續循環,致使死循環') } } var arr3 = [1,2,3,0,4]; for(var i = 0, ci; ci = arr3[i]; i++) { console.log(i); // i = 3時,會中止循環,由於循環條件ci=arr3[i]是有返回值arr3[i],因此循環遇到arr3的項爲false時,就會中止 } `