在javascript中获取数组的前3个元素,然后再获取另一个3个元素



Hi我有一个9元素的数组-CCD_ 1。我有一个符合条件的变量。

data==='test' ?
data1 = array.slice(0,3) : 
data==='test1' ?
data1 = array.slice(3,6) : 
data==='test2' ?
data1 = array.slice(6,9) :
data1 = data;

如果数据与测试匹配,那么data1应该是['a','b','c']。如果数据与test1匹配,那么data1应该是['d','e','f']。如果数据与test1匹配,那么data1应该是['g','h','i']

如果数据等同于测试,但在test1&test2.在test1&测试2.

有什么办法做到这一点吗?

是否可以使用switch语句?//为了更好的易读性

const array = ['a','b','c','d','e','f','g','h','i']
const data = 'test1';
let data1;
switch (data) {
case 'test':
data1 = array.slice(0,3);
break;
case 'test1':
data1 = array.slice(3,6);
break;
case 'test2':
data1 = array.slice(6,9);
break;
default: 
data1 = data;
break;
}

我会使用test字符串后面的数字作为乘数来获得所需的部分;

const data = ['a','b','c','d','e','f','g','h','i'];
console.log(getDataPart('test'));
console.log(getDataPart('test1'));
console.log(getDataPart('test2'));
function getDataPart(str) {

// Get number behind 'test', fallback to '0'
const n = (str.length <= 4) ? 0 : str.substring(4);

// Return desired part
return data.slice((n*3), (n*3) + 3)
}

您可以将位置存储在对象内部,并使用数据值获取位置:

const data = "test1";
const array = ['a','b','c','d','e','f','g','h','i']
const pos = {
"test": [0,3], 
"test1": [3,6], 
"test2": [6,9]
}
const data1 = array.slice(...pos[data]);
console.log(data1);

const array = ['a','b','c','d','e','f','g','h','i']
const data = 'test2';    
const data1 = data==='test' ? array.slice(0,3) : (data==='test1' ? array.slice(3,6) : 
(data==='test2' ? array.slice(6,9) : data));
console.log(data1);

相关内容

  • 没有找到相关文章

最新更新