主頁 > 企業開發 > 【筆記】【JavaScript】JSchallenger-Arrays物件-練習筆記

【筆記】【JavaScript】JSchallenger-Arrays物件-練習筆記

2022-04-28 07:11:58 企業開發

前言

【筆記內容】

  • 關于JSchallenger中Arrays物件題目的復盤
  • 本人的提交、以及做題時的思路
  • 分析作者答案
  • 涉及的知識快速了解,注意:并不深入分析具體知識,只是圍繞題目展開

【筆記目的】

  • 幫助本人進一步了解Javascript的Arrays物件以及涉及的方法
  • 對自己做題后的復盤,進一步了解自己的不足之處

【相關資源】

  • JSchallenger

溫馨提示

  • 筆記中有些個人理解后整理的筆記,可能有所偏差,也懇請讀者幫忙指出,謝謝,
  • 若是有其他的解題方法也請讀者分享到評論區,一起學習,共同進步,謝謝,
  • 我的提交有不足之處也懇請讀者幫忙指出,不吝賜教,謝謝,


Array物件快速了解

  • 用于構造陣列的全域物件
  • JavaScript 陣列的長度和元素型別都是非固定的,
  • 只能用整數作為陣列元素的索引,而不能用字串,

PS什么是陣列?

  • 類似于串列的高階物件,

常見操作

方法 描述
let arr=[陣列元素1,...,陣列元素n] 創建陣列
let el=arr[索引] 通過索引訪問陣列元素
arr.forEach(function(item,index,array)){} 遍歷陣列
arr.push(添加元素) 添加元素到陣列的末尾
arr.pop() 洗掉陣列末尾的元素
arr.shift() 洗掉陣列頭部元素
arr.push(目標元素) arr.indexOf(目標元素)
arr.splice(,) 通過索引洗掉某個元素
let shallowCopy = arr.slice() 復制一個陣列

了解更多


JSchallenger-Arrays

Get nth element of array

需求:

Write a function that takes an array (a) and a value (n) as argument

Return the nth element of 'a'

我的提交(作者答案)

function myFunction(a, n) {
   return a[n - 1];
}

涉及知識(訪問陣列元素)

訪問陣列元素

  • 陣列的索引是從0開始的,第一個元素的索引為0,最后一個元素的索引等于該陣列的length 減1,
  • 指定的索引是一個無效值,回傳 undefined

格式

arr[index]

index:訪問陣列元素目標索引

了解更多


Remove first n elements of an array

需求:

Write a function that takes an array (a) as argument

Remove the first 3 elements of 'a'

Return the result

我的提交(作者答案)

function myFunction(a) {
   return a.slice(3);
}

涉及知識(slice()方法)

Array.prototype.slice()

  • 回傳一個新的由 beginend 決定的原陣列的淺拷貝陣列物件
  • 原始陣列不會被改變
  • 會提取原陣列中索引從 beginend 的所有元素(包含 begin,但不包含 end

格式

arr.slice([begin[, end]])

begin(提取起始處的索引):可選

  • 省略:默認從 0 開始
  • 負數:從原陣列中的倒數第幾個元素開始提取,到最后一個元素(包含最后一個元素),
  • 超出原陣列的索引范圍:回傳空陣列

end(提取終止處的索引):可選

  • 負數:在原陣列中的倒數第幾個元素結束抽取,到最后一個元素(不包含最后一個元素)
  • 省略:會一直提取到原陣列末尾,
  • 大于陣列的長度:也會一直提取到原陣列末尾,

回傳值:一個含有被提取元素的新陣列

了解更多


Get last n elements of an array

需求:

Write a function that takes an array (a) as argument

Extract the last 3 elements of a

Return the resulting array

我的提交(作者答案)

function myFunction(a) {
    return a.slice(-3);
}

涉及知識(slice()方法)

Array.prototype.slice()

點擊此處跳轉


Get first n elements of an array

需求:

Write a function that takes an array (a) as argument

Extract the first 3 elements of a

Return the resulting array

我的提交(作者答案)

function myFunction(a) {
   return a.slice(0, 3);
}

涉及知識(slice()方法)

Array.prototype.slice()

點擊此處跳轉


Return last n array elements

需求:

Write a function that takes an array (a) and a number (n) as arguments

It should return the last n elements of a

我的提交(作者答案)

function myFunction(a, n) {
  return a.slice(-n);
}

涉及知識(slice()方法)

Array.prototype.slice()

點擊此處跳轉


Remove a specific array element

需求:

Write a function that takes an array (a) and a value (b) as argument

The function should clean a from all occurrences of b

Return the filtered array

我的提交(作者答案)

function myFunction(a, b) {
   return a.filter(item => item !== b);
}

涉及知識(filter()方法,箭頭函式)

array.filter()方法

  • 創建一個新的陣列,新陣列中的元素是通過檢查指定陣列中符合條件的所有元素,
  • 不會對空陣列進行檢測,
  • 不會改變原始陣列,

格式(注意該格式不完整,之針對本題的格式

array.filter(function(currentValue))

function(currentValue):必需,函式,陣列中的每個元素都會執行這個函式

  • currentValue:必需,當前元素的值

回傳值:陣列,

  • 包含了符合條件的所有元素,
  • 沒有符合條件的元素:回傳空陣列,

了解更多



箭頭函式

  • 使函式運算式更簡潔
  • 更適用于那些本來需要匿名函式的地方
  • 它不能用作建構式

格式

(param1, param2, …, paramN) => expression
(param1, param2, …, paramN) => { statements }
//相當于:(param1, param2, …, paramN) =>{ return expression; }

param:引數

expression:運算式

其他格式 前提
singleParam => { statements } 只有一個引數時,圓括號是可選的:
() => { statements } 沒有引數的函式應該寫成一對圓括號,

了解更多


Count number of elements in JavaScript array

需求:

Write a function that takes an array (a) as argument

Return the number of elements in a

我的提交(作者答案)

function myFunction(a) {
   return a.length;
}

涉及知識(array.length)

Array.length

  • Array的實體屬性,值是一個 0 到 2^32 - 1 的整數
  • 回傳或設定一個陣列中的元素個數

了解更多


Count number of negative values in array

需求:

Write a function that takes an array of numbers as argument

Return the number of negative values in the array

我的提交

function myFunction(a){
	var count=0;
	for(var i=0;i<a.length;i++){
   		if(a[i]<0){
      	count++;
   		}
	}
	return count;
}

作者答案

function myFunction(a) {
   return a.filter((el) => el < 0).length;
}

涉及知識(array.filter()方法、箭頭函式)

array.filter()方法

點擊此處跳轉



箭頭函式

點擊此處跳轉


Sort an array of numbers in descending order

需求:

Write a function that takes an array of numbers as argument

It should return an array with the numbers sorted in descending order

我的提交

function myFunction(arr) {
   arr1=arr.sort();
   return arr1.reverse();
}

作者答案

function myFunction( arr ) {
  return arr.sort((a, b) => b - a)
}

涉及知識(array.sort()方法、array.reverse()方法、箭頭函式)

Array.prototype.sort()

  • 排列陣列,排序順序可以是按字母或數字,也可以是升序(向上)或降序(向下),
  • 默認將按字母和升序將值作為字串進行排序,
  • 在對數字字串進行排序時會產生不正確的結果,(如"25" >"100",因為2>1)
  • 會改變原始陣列

格式(注意該格式不完整,之針對本題的格式

arr.sort([compareFunction])

compareFunction(指定按某種順序進行排列的函式):可選,

  • 省略:元素按照轉換為的字串的各個字符的Unicode位點進行排序

  • 指明了 compareFunction:陣列會按照呼叫該函式的回傳值排序

    compareFunction(a, b)的a-b a、b相對位置
    小于 0 a 會被排列到 b 之前(順序)
    等于 0 位置不變
    大于 0 b 會被排列到 a 之前(逆序)

回傳值:陣列

  • 排序后的陣列(陣列已原地排序,并且不進行復制

了解更多



Array.prototype.reverse()

  • 將陣列中元素的位置顛倒,,并回傳該陣列,
  • 會改變原陣列,

格式

 arr.reverse()

回傳值:顛倒后的陣列,



箭頭函式

點擊此處跳轉


Sort an array of strings alphabetically

需求:

Write a function that takes an array of strings as argument

Sort the array elements alphabetically

Return the result

我的提交(作者答案)

function myFunction(arr) {  
   return arr.sort();
}

涉及知識(字母排序方法)

字母排序方法

使用Array.prototype.sort()方法排序

點擊此處跳轉


Return the average of an array of numbers

需求:

Write a function that takes an array of numbers as argument

It should return the average of the numbers

我的提交

function myFunction(arr){
	var sum=0;
	for(var i=0;i<arr.length;i++){
   		sum+=arr[i];
	}
	return sum/arr.length;
}

作者答案

function myFunction( arr ) {
	return arr.reduce((acc, cur) => acc + cur, 0) / arr.length
}

涉及知識(reduce()方法、箭頭函式)

Array.prototype.reduce()

  • 接收一個函式作為累加器,陣列中的每個值(從左到右)開始縮減,最終計算為一個值,
  • 對于空陣列是不會執行回呼函式的

格式(注意該格式不完整,之針對本題的格式

array.reduce(function(total, currentValue))

function(total,currentValue)(用于執行每個陣列元素的函式):必需,

  • total初始值, 或者計算結束后的回傳值):必需,
  • currentValue(當前元素):必需,

回傳值:計算結果

了解更多



箭頭函式

點擊此處跳轉


Return the longest string from an array of strings

需求:

Write a function that takes an array of strings as argument、

Return the longest string

我的提交

function myFunction(arr) {
   var max;
   for(var i=0;iarr[i+1].length){
         max=arr[i];
      }else{
         max=arr[i+1];
      }
   }
   return max;
}

作者答案

function myFunction( arr ) {
	return arr.reduce((a, b) => a.length <= b.length ? b : a)
}

涉及知識(reduce()方法、箭頭函式、三目運算子)

Array.prototype.reduce()

點擊此處跳轉



箭頭函式

點擊此處跳轉



三目運算子

格式

expression ? sentence1 : sentence2
  • expression:判斷運算式

  • sentence1:值為true時,執行陳述句

  • sentence2:值為false時,執行陳述句

  • 類似于if陳述句:

    if(expression){
       sentence1;
    }else{
       sentence2;
    }
    

Check if all array elements are equal

需求:

Write a function that takes an array as argument

It should return true if all elements in the array are equal

It should return false otherwise

我的提交

function myFunction(arr) {
   return arr.every(item=>item ===arr[0]);
}

作者答案

function myFunction( arr ) {
  return new Set(arr).size === 1
}

涉及知識(every()方法、set().size方法、相等運算子)

Array.prototype.every()

  • 用于檢測陣列所有元素是否都符合指定條件(通過函式提供)
    • 如果陣列中檢測到有一個元素不滿足,則整個運算式回傳 false ,且剩余的元素不會再進行檢測,
    • 如果所有元素都滿足條件,則回傳 true,

注意:

  • 不會對空陣列進行檢測
  • 不會改變原始陣列

格式(注意該格式不完整,之針對本題的格式

array.every(function(currentValue))

function(currentValue)(函式):必須,

  • 陣列中的每個元素都會執行這個函式
    • currentValue:必須,當前元素的值

回傳值:布林值

  • true:所有元素都通過檢測
  • false:陣列中檢測到有一個元素不滿足

了解更多



set().size方法

  • 回傳Set物件中元素的個數,
  • size的值是一個整數,表示Set物件有多少條目,
  • size的集合訪問函式是undefined
  • 不能改變這個屬性


相等運算子

相等和不等
相等 不等
== !=
相等回傳true 不等回傳true
  • 都會先轉換運算元(強制轉換),再比較相等性

  • 轉換不同資料型別時,遵循基本規則

    • 布林值比較,false為0,true為1

      運算式
      false == 0 true
      true == 1 true
      true == 2 false
    • 字串比較,先將字串轉換成數值(ASCII碼數值)

      運算式
      "5" == 5 true
    • 物件比較,要呼叫物件的valueOf()方法,得到基本型別值再比較

  • 比較時,遵循的規則

    • nullundefined是相等的

      運算式
      null == undefined true
    • 比較相等性之前,不能將nullundefined轉換成其他任何值

      運算式
      undefined == 0 false
      null == 0 false
    • 有一個運算元是NaN,相等回傳false,不相等回傳true注意:即使兩個運算元都是NaNNaN不等于NaN,回傳false

      運算式
      "NaN" == NaN false
      5 == NaN false
      NaN == NaN false
      NaN != NaN false
    • 兩個運算元都是物件,如果兩個運算元都指向同一個物件,則相等回傳true,相反回傳false


全等和不全等
全等 不全等
=== !==

全等和不全等相等和不等的區別:

===!== ==!=
比較前運算元是否需要轉換 不需要 需要

示例

var result1 ={"55" == 55 };		//true
var result2 ={"55" === 55 };	//false

var result3 ={"55" != 55 };		//false
var result4 ={"55" !== 55 };	//true

var result5 ={null == undefined };	//true
var result6 ={null === undefined };	//false

為了保持代碼中資料型別的完整性,推薦使用全等和不全等運算子


Merge an arbitrary number of arrays

需求:

Write a function that takes arguments an arbitrary number of arrays

It should return an array containing the values of all arrays

我的提交

function myFunction(...arrays) {
   return [].concat(...arrays);
}

作者答案

function myFunction( ...arrays ) {
return arrays.flat()
}

涉及知識(concat()方法、flat()方法、擴展運算子、拼接陣列的思路)

concat()方法

  • 用于連接兩個或多個陣列,
  • 不會更改現有陣列,而是回傳一個新陣列,其中包含已連接數組的值,

格式

array1.concat(array2, array3, ..., arrayX)

array2, array3, ..., arrayX:必需,要連接的陣列,

回傳值:已連接的陣列



flat()方法

  • 按照一個可指定的深度遞回遍歷陣列,并將所有元素與遍歷到的子陣列中的元素合并為一個新陣列回傳,

格式

var newArray = arr.flat([depth])

depth:指定要提取嵌套陣列的結構深度,默認值為 1

回傳值:一個包含將陣列與子陣列中所有元素的新陣列



擴展運算子

  • ES6
  • 又稱物件展開符,用...表示
  • 主要用于函式呼叫

了解更多



拼接陣列思路(拓展)

思路一:concat方法

具體操作結合我的提交與涉及知識

思路二:flat()方法

具體操作結合作者答案與涉及知識

思路三:apply(推薦)

arr1.push.apply(arr1,arr2);

思路四:es6的寫法(推薦)

arr1.push(...arrays);

Sort array by object property

需求:

Write a function that takes an array of objects as argument

Sort the array by property b in ascending order

Return the sorted array

我的提交

function myFunction(arr) {
    return arr.sort((a,b)=>a.b-b.b);
}

作者答案

function myFunction(arr) {
   const sort = (x, y) => x.b - y.b;
   return arr.sort(sort);
}

涉及知識(const、sort()方法、箭頭函式)

const

  • 塊級范圍的常量,非常類似用 let 陳述句定義的變數
  • 但常量的值是無法(通過重新賦值)改變的,也不能被重新宣告,

格式

const name1 = value1 [, name2 = value2 [, ... [, nameN = valueN]]];

nameN:常量名稱,可以是任意合法的識別符號,

valueN:常量值,可以是任意合法的運算式,

了解更多



sort()方法

點擊此處跳轉



箭頭函式

點擊此處跳轉


Merge two arrays with duplicate values

需求:

Write a function that takes two arrays as arguments

Merge both arrays and remove duplicate values

Sort the merge result in ascending order

Return the resulting array

 Write a function that takes two arrays as arguments
// Merge both arrays and remove duplicate values
// Sort the merge result in ascending order
// Return the resulting array

這道題我試了很多方法,都是說有一個或多個測驗案例不過,請小伙伴們在留言區分享這道題的解法,謝謝啦!!!!


Sum up all array elements with values greater than

需求:

Write a function that takes an array (a) and a number (b) as arguments

Sum up all array elements with a value greater than b

Return the sum

我的提交

function myFunction(a, b) {
   var sum=0;
   for(var i=0;ib){
         sum+=a[i];
      }
   }
   return sum;
}

作者答案

function myFunction(a, b) {
  return a.reduce((sum, cur) => {
    if (cur > b) return sum + cur;
    return sum;
  }, 0);
}

涉及知識(reduce()方法,箭頭函式)

Array.prototype.reduce()

點擊此處跳轉



箭頭函式

點擊此處跳轉


Create a range of numbers

需求:

Write a function that takes two numbers (min and max) as arguments

Return an array of numbers in the range min to max

我的提交

function myFunction(min, max) {
   var arr = [];
   var length=max-min;
   var t=min;
   for(var i=0;i<=length;i++){
      arr[i]=t;
      t++;
   }
   return arr;
}

作者答案

function myFunction(min, max) {
  let arr = [];
  for (let i = min; i <= max; i++) {
    arr.push(i);
  }
return arr;
}

涉及知識(let、push()方法)

let

  • let 宣告的變數只在 let 命令所在的代碼塊內有效
  • ES6

了解更多



push()方法

  • 可向陣列的末尾添加一個或多個元素,并回傳新的長度,

注意:

  • 新元素將添加在陣列的末尾
  • 此方法改變陣列的長度
  • 在陣列起始位置添加元素請使用 unshift() 方法,

格式

 array.push(item1, item2, ..., itemX)

item1, item2, ..., itemX:必需,要添加到陣列的元素,

回傳值:陣列


Group array of strings by first letter

需求

Write a function that takes an array of strings as argument

Group those strings by their first letter

Return an object that contains properties with keys representing first letters

The values should be arrays of strings containing only the corresponding strings

For example, the array ['Alf', 'Alice', 'Ben'] should be transformed to

{ a: ['Alf', 'Alice'], b: ['Ben']}

我的提交

function myFunction(arr){
    let resultObj = {};
  	for (let i =0; i < arr.length; i++) {
    	let currentWord = arr[i];
    	let firstChar = currentWord[0].toLowerCase();
    	let innerArr = [];
    	if (resultObj[firstChar] === undefined) {
       		innerArr.push(currentWord);
      		resultObj[firstChar] = innerArr
    	}else {
      		resultObj[firstChar].push(currentWord)
    	}
  	}
	return resultObj;
}

作者答案

function myFunction(arr) {
 return arr.reduce((acc, cur) => {
   const firstLetter = cur.toLowerCase().charAt(0);
   return { ...acc, [firstLetter]: [...(acc[firstLetter] || []), cur] };
 }, {});
}

涉及知識(toLowerCase()方法、相等運算子、push()方法、reduce()方法、charAt()方法、擴展運算子)

toLowerCase()

  • 把字串轉換為小寫,

格式

stringObject.toLowerCase()

回傳值:新的字串,所有大寫字符全部被轉換為了小寫字符



相等運算子

點擊此處跳轉



push()方法

點擊此處跳轉



reduce()方法

點擊此處跳轉



charAt()方法

  • 回傳指定位置的字符,回傳字符長度為1,

格式

stringObject.charAt(index)

stringObject:字串物件

index(字符所在的字串中的下標):必需

  • 注意:字串中第一個字符的下標是 0,如果引數 index 不在 0 與 string.length 之間,該方法將回傳一個空字串


擴展運算子

點擊此處跳轉


Define an array with conditional elements

需求:

Write a function that takes an array with arbitrary elements and a number as arguments

Return a new array, the first element should be either the given number itself

or zero if the number is smaller than 6

The other elements should be the elements of the original array

Try not to mutate the original array

我的提交

function myFunction(arr, num) {
   return num>=6? [num].concat(arr):[0].concat(arr);
}

作者答案

function myFunction(arr, num) {
 return [...(num > 5 ? [num] : [0]), ...arr];
}

涉及知識(不改變原陣列的方法、擴展運算子、三目運算子)

不改變原陣列的方法

不改變原陣列的方法 描述
concat 回傳拼接后的陣列,不改變原陣列;
forEach 遍歷陣列
map
join() 回傳拼接后的字串,可以指定間隔;
slice(start,end); 截取陣列,回傳截取的部分,不改變原始陣列;
sort(); 排序
toString(); [1,2,3].toString()==[1,2,3].join();


擴展運算子

點擊此處跳轉



三目運算子

點擊此處跳轉


Get every nth element of array

需求:

Write a function that takes an array (a) and a value (n) as arguments

Save every nth element in a new array

Return the new array

我的提交

function myFunction(a, n){
	var arr=[];
	for(var i=0;i<a.length;i++){
   		if((i+1)%n==0){
      	arr.push(a[i]);
   		}
	}
	return arr;
}

作者答案

function myFunction(a, n) {
   let rest = [...a];
   let result = [];
   for (let i = 0; i < a.length; i++) {
      if (rest.length < n) break;
      result.push(rest[n - 1]);
      rest = rest.slice(n);
   }
   return result;
}

涉及知識(擴展運算子、push()方法、slice()方法)

擴展運算子

點擊此處跳轉



push()方法

點擊此處跳轉



slice()方法

點擊此處跳轉


結語

【創作背景】

? 偶然在抖音上刷到JSchallenger這個可以訓練Javascript基礎的網站,自己在完成所有的Schallenger題之后,想要通過博客來記錄自己的做題痕跡,以便日后快速回顧,原本打算把JSchallenger的所有題目以及分析整理成一篇博客發出來,但是我整理完后發現,已經快有1w多字,為了方便讀者和自己觀看,因此打算按照JSchallenger的板塊分開發布,


【感謝】

感謝各位讀者能看到最后!!!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/466036.html

標籤:其他

上一篇:CSS之Flex詳解

下一篇:【hexo博客搭建】本地搭建hexo博客(上)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • IEEE1588PTP在數字化變電站時鐘同步方面的應用

    IEEE1588ptp在數字化變電站時鐘同步方面的應用 京準電子科技官微——ahjzsz 一、電力系統時間同步基本概況 隨著對IEC 61850標準研究的不斷深入,國內外學者提出基于IEC61850通信標準體系建設數字化變電站的發展思路。數字化變電站與常規變電站的顯著區別在于程序層傳統的電流/電壓互 ......

    uj5u.com 2020-09-10 03:51:52 more
  • HTTP request smuggling CL.TE

    CL.TE 簡介 前端通過Content-Length處理請求,通過反向代理或者負載均衡將請求轉發到后端,后端Transfer-Encoding優先級較高,以TE處理請求造成安全問題。 檢測 發送如下資料包 POST / HTTP/1.1 Host: ac391f7e1e9af821806e890 ......

    uj5u.com 2020-09-10 03:52:11 more
  • 網路滲透資料大全單——漏洞庫篇

    網路滲透資料大全單——漏洞庫篇漏洞庫 NVD ——美國國家漏洞庫 →http://nvd.nist.gov/。 CERT ——美國國家應急回應中心 →https://www.us-cert.gov/ OSVDB ——開源漏洞庫 →http://osvdb.org Bugtraq ——賽門鐵克 →ht ......

    uj5u.com 2020-09-10 03:52:15 more
  • 京準講述NTP時鐘服務器應用及原理

    京準講述NTP時鐘服務器應用及原理京準講述NTP時鐘服務器應用及原理 安徽京準電子科技官微——ahjzsz 北斗授時原理 授時是指接識訓通過某種方式獲得本地時間與北斗標準時間的鐘差,然后調整本地時鐘使時差控制在一定的精度范圍內。 衛星導航系統通常由三部分組成:導航授時衛星、地面檢測校正維護系統和用戶 ......

    uj5u.com 2020-09-10 03:52:25 more
  • 利用北斗衛星系統設計NTP網路時間服務器

    利用北斗衛星系統設計NTP網路時間服務器 利用北斗衛星系統設計NTP網路時間服務器 安徽京準電子科技官微——ahjzsz 概述 NTP網路時間服務器是一款支持NTP和SNTP網路時間同步協議,高精度、大容量、高品質的高科技時鐘產品。 NTP網路時間服務器設備采用冗余架構設計,高精度時鐘直接來源于北斗 ......

    uj5u.com 2020-09-10 03:52:35 more
  • 詳細解讀電力系統各種對時方式

    詳細解讀電力系統各種對時方式 詳細解讀電力系統各種對時方式 安徽京準電子科技官微——ahjzsz,更多資料請添加VX 衛星同步時鐘是我京準公司開發研制的應用衛星授時時技術的標準時間顯示和發送的裝置,該裝置以M國全球定位系統(GLOBAL POSITIONING SYSTEM,縮寫為GPS)或者我國北 ......

    uj5u.com 2020-09-10 03:52:45 more
  • 如何保證外包團隊接入企業內網安全

    不管企業規模的大小,只要企業想省錢,那么企業的某些服務就一定會采用外包的形式,然而看似美好又經濟的策略,其實也有不好的一面。下面我通過安全的角度來聊聊使用外包團的安全隱患問題。 先看看什么服務會使用外包的,最常見的就是話務/客服這種需要大量重復性、無技術性的服務,或者是一些銷售外包、特殊的職能外包等 ......

    uj5u.com 2020-09-10 03:52:57 more
  • PHP漏洞之【整型數字型SQL注入】

    0x01 什么是SQL注入 SQL是一種注入攻擊,通過前端帶入后端資料庫進行惡意的SQL陳述句查詢。 0x02 SQL整型注入原理 SQL注入一般發生在動態網站URL地址里,當然也會發生在其它地發,如登錄框等等也會存在注入,只要是和資料庫打交道的地方都有可能存在。 如這里http://192.168. ......

    uj5u.com 2020-09-10 03:55:40 more
  • [GXYCTF2019]禁止套娃

    git泄露獲取原始碼 使用GET傳參,引數為exp 經過三層過濾執行 第一層過濾偽協議,第二層過濾帶引數的函式,第三層過濾一些函式 preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp'] (?R)參考當前正則運算式,相當于匹配函式里的引數 因此傳遞 ......

    uj5u.com 2020-09-10 03:56:07 more
  • 等保2.0實施流程

    流程 結論 ......

    uj5u.com 2020-09-10 03:56:16 more
最新发布
  • 使用Django Rest framework搭建Blog

    在前面的Blog例子中我們使用的是GraphQL, 雖然GraphQL的使用處于上升趨勢,但是Rest API還是使用的更廣泛一些. 所以還是決定回到傳統的rest api framework上來, Django rest framework的官網上給了一個很好用的QuickStart, 我參考Qu ......

    uj5u.com 2023-04-20 08:17:54 more
  • 記錄-new Date() 我忍你很久了!

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 大家平時在開發的時候有沒被new Date()折磨過?就是它的諸多怪異的設定讓你每每用的時候,都可能不小心踩坑。造成程式意外出錯,卻一下子找不到問題出處,那叫一個煩透了…… 下面,我就列舉它的“四宗罪”及應用思考 可惡的四宗罪 1. Sa ......

    uj5u.com 2023-04-20 08:17:47 more
  • 使用Vue.js實作文字跑馬燈效果

    實作文字跑馬燈效果,首先用到 substring()截取 和 setInterval計時器 clearInterval()清除計時器 效果如下: 實作代碼如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta ......

    uj5u.com 2023-04-20 08:12:31 more
  • JavaScript 運算子

    JavaScript 運算子/運算子 在 JavaScript 中,有一些運算子可以使代碼更簡潔、易讀和高效。以下是一些常見的運算子: 1、可選鏈運算子(optional chaining operator) ?.是可選鏈運算子(optional chaining operator)。?. 可選鏈操 ......

    uj5u.com 2023-04-20 08:02:25 more
  • CSS—相對單位rem

    一、概述 rem是一個相對長度單位,它的單位長度取決于根標簽html的字體尺寸。rem即root em的意思,中文翻譯為根em。瀏覽器的文本尺寸一般默認為16px,即默認情況下: 1rem = 16px rem布局原理:根據CSS媒體查詢功能,更改根標簽的字體尺寸,實作rem單位隨螢屏尺寸的變化,如 ......

    uj5u.com 2023-04-20 08:02:21 more
  • 我的第一個NPM包:panghu-planebattle-esm(胖虎飛機大戰)使用說明

    好家伙,我的包終于開發完啦 歡迎使用胖虎的飛機大戰包!! 為你的主頁添加色彩 這是一個有趣的網頁小游戲包,使用canvas和js開發 使用ES6模塊化開發 效果圖如下: (覺得圖片太sb的可以自己改) 代碼已開源!! Git: https://gitee.com/tang-and-han-dynas ......

    uj5u.com 2023-04-20 08:01:50 more
  • 如何在 vue3 中使用 jsx/tsx?

    我們都知道,通常情況下我們使用 vue 大多都是用的 SFC(Signle File Component)單檔案組件模式,即一個組件就是一個檔案,但其實 Vue 也是支持使用 JSX 來撰寫組件的。這里不討論 SFC 和 JSX 的好壞,這個仁者見仁智者見智。本篇文章旨在帶領大家快速了解和使用 Vu ......

    uj5u.com 2023-04-20 08:01:37 more
  • 【Vue2.x原始碼系列06】計算屬性computed原理

    本章目標:計算屬性是如何實作的?計算屬性快取原理以及洋蔥模型的應用?在初始化Vue實體時,我們會給每個計算屬性都創建一個對應watcher,我們稱之為計算屬性watcher ......

    uj5u.com 2023-04-20 08:01:31 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:01:10 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:00:32 more