Поиск и изменение чисел в строке
Всем привет. Подскажите пожалуйста как решить задачу.
Дан массив, в нём лежит css-свойство transform с заданной функцией трансформации, по типу следующего: transform: scale(0.5, 0.5) transform: matrix(3,15,4,-10,8,24) transform: matrix(8,15,3,4,24,-10) transform: scale(2, 1.5) transform: translate(500px,450px) transform: scale(0.7, 1.1) Нужно увеличить значение на 11. Как это сделать ? |
А зачем же хранить так?
Если известно, что для transform, то уже достаточно было бы только scale(...), matrix(...), .... Но и это зачем, может быть лучше: scale : [[0.5, 0.5], [2, 1.5]] и т.д. И если что-то надо изменить, изменяйте. |
Задание такое оригинальное. Привет из универа
|
Цитата:
Цитата:
|
Цитата:
Цитата:
Проще говоря ко всем числам 11 прибавить. |
Цитата:
|
function fun3(param1,param2){
var a ; var out = []; for (i = 0; i < param1.length; i++){ if(param1[i].indexOf(param2)!=-1){ a=parseFloat(param1[i].match(/\((\d)\)/)); b=a+11; out.push(param1[i].replace((/\((\d)\)/),b)); console.log(param1[i]); } } return out; } console.log(fun3(arrLab7,"transform")) |
Цитата:
arrLab=["transform: scale(0.5, 0.5)", "transform: matrix(3,15,4,-10,8,24)", "transform: matrix(8,15,3,4,24,-10)", "transform: scale(2, 1.5)", "transform: translate(500px,450px)", "transform: scale(0.7, 1.1)", "transform: skew(30deg,15deg)", "transform: translate(151px,17px)", "transform: rotate(45deg)", "transform: rotate(17deg)", "transform: translate(170px,15px)", "transform: skew(25deg,5deg)", "transform: skew(2deg,17deg)", "transform: matrix(15,3,4,8,-10,24)", "transform: rotate(135deg)"] console.log( arrLab.map(function(s){ return s.replace(/-?\d+\.?\d*/g, function(n){return +n+11}) }) ) //>>>> [ 'transform: scale(11.5, 11.5)', //>>>> 'transform: matrix(14,26,15,1,19,35)', //>>>> 'transform: matrix(19,26,14,15,35,1)', //>>>> 'transform: scale(13, 12.5)', //>>>> 'transform: translate(511px,461px)', //>>>> 'transform: scale(11.7, 12.1)', //>>>> 'transform: skew(41deg,26deg)', //>>>> 'transform: translate(162px,28px)', //>>>> 'transform: rotate(56deg)', //>>>> 'transform: rotate(28deg)', //>>>> 'transform: translate(181px,26px)', //>>>> 'transform: skew(36deg,16deg)', //>>>> 'transform: skew(13deg,28deg)', //>>>> 'transform: matrix(26,14,15,19,1,35)', //>>>> 'transform: rotate(146deg)' ] Все цифры не проверил, лень:) |
Спасибо) Очень вовремя ))
|
Часовой пояс GMT +3, время: 14:44. |